运行时我看到以下消息npm install
or npm
来自终端的命令。执行中node
按预期工作。
> npm install
/usr/bin/env: ‘bash\r’: No such file or directory
2023 年 7 月更新:微软有一个使用 NVM 在 WSL 上安装 Node 的指南 https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-wsl#install-nvm-nodejs-and-npm。如果您遵循他们的操作方法,您可能不会遇到此问题。
对许多人都有效的修复:这可能是行尾问题导致的问题,但不是 Ubuntu 造成的。确保你有node
and npm
正确安装:
- 从 WSL 运行
sudo apt install nodejs npm
安装node和npm
- 从 PowerShell/CMD 运行
wsl --shutdown
重新启动 WSL 服务
- 从 WSL 运行
which npm
确认已安装(输出应该是:/usr/bin/npm)
问题仍然存在吗?接下来试试这个:
通过编辑以下内容来停止与 WSL 共享 Windows 路径变量/etc/wsl.conf
WSL 中的文件。如果文件不存在则执行sudo touch /etc/wsl.conf
第一的。使用命令编辑文件sudo nano /etc/wsl.conf
并添加以下配置:
[interop]
appendWindowsPath = false
然后使用命令重新启动 WSL2wsl --shutdown
在Windows中。
Note 1: 这将阻止 PATH 环境变量从 Windows 传递到 WSL。已知错误:这会停止 VSCodecode .
在 WSL 中工作的命令。如果这是一个问题,请使用此处描述的 NVM 解决方案或切换到使用 Docker 容器中的节点。
Note 2: 这也影响pyenv
命令,参见/usr/bin/env:‘bash\r’:没有这样的文件或目录:不兼容的行结尾(WSL?) https://github.com/pyenv/pyenv/issues/1725#issuecomment-824054644
来自@mike的提示:“我不想禁用执行此操作的能力code .
所以我只是通过将此行添加到我的 ~/.bashrc PATH=$(echo "$PATH" | sed -e 's%:/mnt/c/Program Files/nodejs%%')" 来删除 Windows NodeJS 路径
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)