javascript - 无法从 WSL 中的 npm/yarn 链接加载链接的模块

标签 javascript windows npm yarnpkg windows-subsystem-for-linux

当我尝试将本地依赖项导入到我的项目中时,我遇到了一个非常奇怪的问题。

我有一个名为“test_project”的项目和另一个将链接的名为“test_module”的项目。我将测试模块链接到全局node_modules文件夹(我尝试过npm链接和yarn链接)。然后在 test_project 中我链接 test_module。我将 test_module 导入到index.js 文件中,但是当我执行yarn/npm start 时,出现此错误:

Failed to compile.

./src/index.js
Cannot find file: 'index.js' does not match the corresponding name on disk: '/mnt/c/users/<my_username>/Projects/test_module/Users'.

无论出于何种原因,“/Users”被添加到路径的末尾,我不知道为什么。我已经两次吹毁了我的环境,而且这种情况一直在发生。这是 WSL 的问题吗?我是否配置错误?

编辑:“test_project”是从 create-react-app 生成的,没有任何修改。如果您想知道我的环境是如何设置的。

EDIT2:我在Windows的CMD中尝试了这个,一切正常。所以看起来这些问题是由 WSL、我的节点安装以及其他什么东西的组合引起的:/

谢谢

最佳答案

我想出了如何解决这个问题。您需要编辑 wsl 配置并将根设置为“/”。我的理论是某个地方正在使用相对路径,并且使用“/”作为根会从路径中删除“/mnt/”,从而允许它正确后退。但是,我无法用事实来支持它:D

无论如何,修复都很简单。

sudo vim /etc/wsl.conf

然后添加此字段,使文件如下所示:

[automount]

root = /
options = "metadata"

(我有选项字段来解决权限问题)

然后完全注销/注销,重新登录,取消链接模块,清除node_modules文件夹,运行npm install,然后重新链接。到那时一切都应该起作用了。

干杯!

关于javascript - 无法从 WSL 中的 npm/yarn 链接加载链接的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55506199/

相关文章:

JavaScript 18 岁以下出生日期

c# - 通过 Visual Studio C# 和 ASP.NET 在 Windows 上使用 Compass

c# - 改变滚动条的宽度

node.js - Codeship 基本 npm 安装失败错误 : SSL Error: CERT_UNTRUSTED

php - PHP cookies和 'JS' cookies是一样的吗?

javascript - 好奇 : is it possible to have dynamic Ajax data variable names?

javascript - 如何将 AngularJS 与 Google API JavaScript 客户端一起使用?

windows - 从 Windows 将 nuttx RTOS 刷新到 stm32F4developer

node.js - ember/npm 插件,带有依赖项/devDependencies

node.js - 为什么 npm 在 package.json 中添加一些带下划线的属性