Sim*_*mao 9 windows-subsystem-for-linux
I\xe2\x80\x99m 尝试从 Visual Studio Code 中的 WSL 终端运行 Express 服务器。
\n但是,每当我运行该命令时npm run dev,都会收到以下错误:
'\\\\wsl$\\Ubuntu\\home\\simao\\legalize-backend'\nCMD.EXE was started with the above path as the current directory.\nUNC paths are not supported. Defaulting to Windows directory.\nRun Code Online (Sandbox Code Playgroud)\n我认为这与从 Windows 到 WSL 目录中的文件夹的路径有关。
\n哪一种是正确的路径格式,或者我应该怎样做才能使这一格式有效?
\n搜索后,我发现你可以:
\n\n\n您可以通过将普通驱动器号映射到具有 UNC 路径的路径来解决此问题(不支持 UNC 路径)。
\n
但是如何将普通驱动器号映射到路径呢?
\n小智 8
我昨天遇到了同样的情况。我想可能是我的 npm 有问题。然后我用 检查 npm 路径which npm,发现我的 npm 已安装D:\nodejs\npm在 Windows 中(正好/mnt/d/nodejs/npm在屏幕中)。
我猜想 WSL 使用 CMD.exe 从 Windows 中启动 npmCMD.EXE was started with the above path as the current directory.
所以也许我可以在 WSL 中安装一个新的 npm 来解决这个问题。节点版本管理器 (nvm) 是安装多个版本 Node.js 的最流行方法。每个版本的nodejs都有自己的npm版本。只需点击下面的链接即可。
另外,如果您有Permission denied,请使用npm uninstall xxx删除已安装的依赖项,然后再次安装您的依赖项。
小智 6
我遇到的错误是因为我的 Ubuntu WSL 尝试在 Windows 系统上使用 npm install。要验证它,请执行命令:
which npm # output = /mnt/c/ubuntu/...
Run Code Online (Sandbox Code Playgroud)
预期的输出应该类似于 /usr/local7....
解决方案:在Ubuntu上直接安装npm。你可以使用 nvm 来做到这一点:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | tried
source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
准备就绪后,您可以毫无问题地运行 npm。
发生这种情况是因为您使用的任何工具都试图通过cmd.exe并且cmd.exe不理解UNC\\...路径(以而不是驱动器号开头的路径)运行命令。将 UNC 路径映射到驱动器会将其转换为驱动器号路径。
要将 WSL 路径映射到 Windows 驱动器,请运行cmd.exe(命令行)并键入以下命令:
net use X: \\wsl$\Ubuntu\home\simao
Run Code Online (Sandbox Code Playgroud)
将创建的驱动器在哪里(您将在例如“我的电脑X:”中将其视为网络驱动器),并且是该驱动器根目录的 WSL 路径。是告诉 Windows 连接到 WSL 的特殊主机名,是 WSL 下的发行版名称,最后是发行版中应映射的目录的路径。\\wsl$\Ubuntu\home\simaowsl$Ubuntu\home\simaoUbuntu
| 归档时间: |
|
| 查看次数: |
12873 次 |
| 最近记录: |