我在Windows上安装了Ubuntu Bash。我已经在nodejs
的Windows计算机上拥有npm
和C:\Program Files\nodejs
。在Windows的bash shell中,我正在运行一个使用npm install
命令的脚本。该脚本提供以下错误
: not foundram Files/nodejs/npm: 3: /mnt/c/Program Files/nodejs/npm:
: not foundram Files/nodejs/npm: 5: /mnt/c/Program Files/nodejs/npm:
/mnt/c/Program Files/nodejs/npm: 6: /mnt/c/Program Files/nodejs/npm: Syntax error: word unexpected (expecting "in")
答案 0 :(得分:31)
您也可以使用Windows PowerShell安装node和npm,因此如果您这样做,它将无法正常运行您的子系统。这意味着您必须安装两次(Powershell和Subsystem),或者您决定做一件事。
如果前面的文字,没有帮到你,这是如何解决问题的:
删除当前的安装
sudo apt-get --purge remove node
("sudo apt autoremove node" if console is asking for)
sudo apt-get --purge remove nodejs
以正确的方式安装节点。 这适用于版本10:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt install node
然后安装构建工具,以便稍后为npm安装附加组件
sudo apt-get install -y build-essential
现在您可以输入
npm -v
node -v
Same thing: nodejs -v
检查npm是否安装正确。
这是一个可以帮助您的链接 https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
注意:如果在完成此操作后显示相同的错误,请重新启动bash。
答案 1 :(得分:14)
phucanhapril 于2017年5月24日在this thread提供的解决方案为我工作。
总结一下,编辑〜/ .profile并将PATH更改为:
PATH="$HOME/bin:$HOME/.local/bin:/usr/bin:$PATH"
(默认情况下,它不包括/ usr / bin)
然后运行:
source ~/.profile
我不太清楚为什么npm首先不能正常工作,或者为什么/ usr / bin默认不在PATH中,但解决方案对我有用。
答案 2 :(得分:3)
我有同样的问题要解决,因为我在子系统中安装了“ NVM”
请按照以下步骤操作,看看它是否会为您解决:
sudo apt-get update
sudo apt-get install build-essential libssl-dev
curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh -o install_nvm.sh
bash install_nvm.sh
source ~/.profile
nvm install 11.13.0
答案 3 :(得分:2)
当我运行Windows 10版本1703时,我在Debian和Ubuntu中都遇到了这个问题(尽管在Ubuntu中nvm
命令起作用了)。然后,当我升级到版本1903时,问题消失了。
答案 4 :(得分:1)
在Visual Studio上 - >工具 - >选项 - >项目和解决方案 - > Web包管理 - >确保$(PATH)高于其余所有。 只要它不在列表的顶部,VS就会尝试使用VS工具而不是npm。
在尝试npm --version之后,您还应该通过以下屏幕截图将windows引用到当前的npm版本 changing npm path
答案 5 :(得分:1)
您可以尝试sudo npm install
,这在我的情况下是解决方案。
答案 6 :(得分:1)
我有同样的问题。这就是我所做的。
第1步。在Windows PowerShell中键入node -v
和npm -v
命令,并检查node和npm是否已正确安装
第2步。将其添加到~/.zshrc
或~/.bashrc
文件
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
第3步。键入source ~/.zshrc
和/或source ~/.bashrc
第4步。在node -v
或npm -v
shell中键入bash
和zsh
命令,现在应该显示正确的版本
希望这可以解决您的问题。和平! ✌
答案 7 :(得分:0)
当我修改“〜/ .bashrc”文件以缩短bash目录时,收到此错误。
起初我有:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u\h:\W\$'
fi
...。但是随后无法运行任何节点操作。我回滚了,错误停止了发生。
经过一些故障排除后,我能够通过在~
上的$
之前添加PS1='${debian_chroot:+($debian_chroot)}\u\h:\W\~$
来解决该错误
答案 8 :(得分:0)
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
如果您仍然遇到问题,这就足够了
节点安装需要重新启动,关闭ubuntu窗口,然后再次启动,它将解决您的问题:)
答案 9 :(得分:0)
sudo apt-get安装nodejs sudo apt-get install npm
export PATH = / usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin
答案 10 :(得分:0)
我有同样的错误,而且看起来很愚蠢,但是我通过在控制台中键入exit
并再次打开将其修复。
答案 11 :(得分:0)
我只是通读了许多试图执行此操作的线程。有关于在 wsl 中设置 node、nvm 和 npm 的完整文档,这里是:https://docs.microsoft.com/en-us/windows/nodejs/setup-on-wsl2
如果您已经使用以下命令安装了 node 和 npm,
sudo apt-get install nodejs
sudo apt-get install npm
NPM 不起作用。您必须首先使用以下方法卸载它们:
sudo apt-get remove nodejs
sudo apt-get remove npm
按照此处的指南完全卸载:How can I completely uninstall nodejs, npm and node in Ubuntu
然后从上面引用的 Windows 指南重新安装。 Windows 指南还有许多其他有用的资源。
要安装的 Tldr(来自 Microsoft Docs):
sudo apt-get install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
nvm install --lts