计算机重新启动后,该npm
命令一直无法识别:
-bash: npm: command not found
该node
命令仍然可以正常工作,只是npm
它不起作用。我必须从主站点重新安装 Node.js 才能让它再次工作。
~/bin
被添加到我$PATH
的我.bash_profile
的:
export PATH="$HOME/bin:$PATH"
编辑:我也在使用完整的mathiasbynens/dotfiles来管理自己的版本,我想知道这里是否存在冲突。
计算机重新启动后,该npm
命令一直无法识别:
-bash: npm: command not found
该node
命令仍然可以正常工作,只是npm
它不起作用。我必须从主站点重新安装 Node.js 才能让它再次工作。
~/bin
被添加到我$PATH
的我.bash_profile
的:
export PATH="$HOME/bin:$PATH"
编辑:我也在使用完整的mathiasbynens/dotfiles来管理自己的版本,我想知道这里是否存在冲突。
我没有解释,但有一些指示:
正如@LaurentPerrin 所说,node
(通过其官方安装程序包)安装到/usr/local/bin
.
(为什么提到~/bin
?)
请注意,如果您通过 node.js 版本管理器nvm使用用户级安装,则适用不同的规则,在这种情况下,[symlinks to] 可执行文件被放置在~/.nvm/v{version}/bin
因此,node
可执行文件应该是/usr/local/bin/node
.
这是(仅)您在跑步时看到的which -a node
吗?
node
可执行文件直接放在其中/usr/local/bin
,而npm
只是一个指向的符号链接/usr/local/lib/node_modules/npm/bin/npm-cli.js
,这是一个带有shebang行的可执行节点脚本#!/usr/bin/env node
。
当你跑
ls -l /usr/local/bin/npm
你应该看到类似的东西
lrwxr-xr-x 1 root wheel 38 Dec 13 11:52 /usr/local/bin/npm -> \
../lib/node_modules/npm/bin/npm-cli.js
查看符号链接是否存在并指向正确的文件。
如果这仍然不起作用,请尝试npm-cli.js
直接调用并查看会发生什么(这应该显示 npm 的命令行帮助):
/usr/local/lib/node_modules/npm/bin/npm-cli.js help
在 OSX 上,节点安装到/usr/local/bin
,它需要在您的路径中。/edit/paths
以 root ( ) 身份编辑sudo nano /etc/paths
并确保它位于第一行。它应该如下所示:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
然后你可以通过运行强制 bash 刷新路径source /etc/profile
:
我使用 nvm 安装 node.js。我通过添加$HOME/.nvm/v0.10.25/bin
来解决它$PATH
。所以问题是找不到路径。
我遇到了同样的问题(在 OSX 上)。不确定这是否适合您,但我最终在这里找到了 npm:
.nvm/v0.10.22/bin
或者,根据您的版本
.nvm/v0.10.21/bin
然后我打印了我的工作目录并将其添加到我的路径中。所以对我来说,当我打开终端时:
cd .nvm/v0.10.22/bin
pwd
>> /path/to/.nvm/v0.10.22/bin
希望有帮助。
我也有同样的问题。我的解决方案是使用sudo ...
. 我猜这是因为权限问题。