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

问题描述 投票:0回答:1

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

我有一个名为'test_project'的项目和另一个名为'test_module'的项目。我将测试模块链接到全局node_modules文件夹(我尝试过npm链接和纱线链接)。然后在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'.

无论出于何种原因'/用户'被添加到路径的末尾,我不知道为什么。我现在已经两次吹走我的环境而且它一直在发生。这是WSL的问题吗?我有错误的配置吗?

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

编辑2:我在Windows CMD中试过这个,一切正常。所以看起来这些问题是由WSL,我的节点安装以及其他任何东西组合引起的:/

谢谢

javascript windows npm yarnpkg windows-subsystem-for-linux
1个回答
0
投票

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

无论如何,修复很容易。

sudo vim /etc/wsl.conf

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

[automount]

root = /
options = "metadata"

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

然后完全注销/注销,重新登录,取消链接模块,吹掉node_modules文件夹,运行npm install,然后重新链接。它应该都在那一点上起作用。

干杯!

© www.soinside.com 2019 - 2024. All rights reserved.