[英]In WSL2: Ubuntu 20.04 for Windows 10 nodejs is installed but npm is not working
我在我的Windows 10操作系统中使用WSL2:Ubuntu 20.04 。 当我执行node -v
命令时,我使用命令sudo apt-get install -y nodejs
nodejs
得到v12.18.3
mrd@DESKTOP-2EO5K4H:/mnt/c/Users/musfi$ node -v v12.18.3
但是当我执行npm -v
命令时,我得到以下命令
mrd@DESKTOP-2EO5K4H:/mnt/c/Users/musfi$ npm -v -bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory
我也做whereis
命令。 希望这将有助于找到解决方案。
mrd@DESKTOP-2EO5K4H:/mnt/c/Users/musfi$ whereis node node: /usr/bin/node /usr/include/node /mnt/c/Program Files/nodejs/node.exe /usr/share/man/man1/node.1.gz mrd@DESKTOP-2EO5K4H:/mnt/c/Users/musfi$ whereis npm npm: /usr/bin/npm /mnt/c/Program Files/nodejs/npm /mnt/c/Program Files/nodejs/npm.cmd /usr/share/man/man1/npm.1
我已经尝试了几乎所有的 stackoverflow 解决方案和 github 问题,但对我没有任何帮助。
希望任何善良的灵魂都能解决这个问题。 提前致谢。
尝试这个
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
sudo apt install npm
以下错误的解决方法: -bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory
编辑~/.bashrc
在文件末尾追加:
# strip out problematic Windows %PATH%
PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g')
现在npm init
可以工作了。
更好的方法是在 Windows 用户目录中配置/etc/wsl.conf
。
将此添加到/etc/wsl.conf
中,因此 Windows 路径不会优先
[interop]
appendWindowsPath=false
有关更多配置详细信息,请查看此处的 Microsoft 开发博客。
对于所有 Unix/Linux/MacOS 操作系统,我总是宁愿使用“节点版本管理器”。 它通常可以在 Linux 和 MacOS 上完美运行(并且还有一个 Windows 端口),并且可以通过一种非常简单的方式正确安装node
和npm
而无需成为root
。
见这里: https ://github.com/nvm-sh/nvm
我可以在我的机器上确认它也适用于 WSL2 上的 Ubuntu 20.04。
要在 WSL 中安装nodejs
,请不要使用apt
遵循 Microsoft 的指导:
如果您通过apt
安装nodejs
,另请参阅如何删除它:
为了npm
在WSL1下工作:
ipv6
(或配置为首选ipv4
)。ipv6
,并且npm install
立即开始工作。WSL2 注释:
注意:如果您使用 VPN,您的容器连接很可能会在 WSL2 下被破坏(例如,使用 Cisco AnyConnect ) - 修复有效,但 GWSL 将被破坏,因此 Xorg 应用程序无法正常工作。
我以为我的 WSL 容器在 WSL2 下运行(我使用wsl --update
升级了 WSL 内核)——在使用 WSL 设置 Visual Studio 时,我看到了 WSL1 警告。 您还必须升级容器:
wsl --set-version ubuntu-22.04 2
wsl --set-default-version 2
要使 Visual Studio 集成在 WSL 中与 Ubuntu 22.04
正常工作,您目前还必须升级gzip
以在 WSL 中安装VS Code Server for x64
( code .:
在 Linux 终端中):
wget http://ftp.debian.org/debian/pool/main/g/gzip/gzip_1.12-1_amd64.deb
sudo dpkg -i ./gzip_1.12-1_amd64.deb
最后我升级了npm
并且一切正常(选择以下命令之一):
nvm install-latest-npm
npm install -g npm@latest
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.