计算机重启后,npm
命令一直无法识别:
-bash: npm: command not found
node
命令仍然正常,只有npm
无法正常工作。我必须从主站点重新安装Node.js才能让它再次运行。
~/bin
已添加到我$PATH
的{{1}}中,其中包含:
.bash_profile
编辑:我也在使用管理自己版本的完整mathiasbynens/dotfiles,我想知道这里是否存在冲突。
答案 0 :(得分:4)
我没有解释,只有一些指示:
正如@LaurentPerrin所述,node
(通过其官方安装程序包)安装到/usr/local/bin
。
(为什么提到~/bin
?)
请注意,如果您通过node.js版本管理器 nvm 使用用户级安装,则适用不同的规则,在这种情况下[符号链接到]可执行文件放在~/.nvm/v{version}/bin
因此,node
可执行文件应为/usr/local/bin/node
。
这是(仅)您在运行which -a node
时看到的内容吗?
node
可执行文件在<{1}}中直接放置 ,而/usr/local/bin
只是指向{{1}的符号链接这是一个带有shebang行npm
的可执行节点脚本。
运行时
/usr/local/lib/node_modules/npm/bin/npm-cli.js
你应该看到像这样的东西
#!/usr/bin/env node
查看符号链接是否存在并指向正确的文件。
如果仍然无效,请尝试直接调用ls -l /usr/local/bin/npm
并查看会发生什么(这应该显示npm的命令行帮助):
lrwxr-xr-x 1 root wheel 38 Dec 13 11:52 /usr/local/bin/npm -> \
../lib/node_modules/npm/bin/npm-cli.js
答案 1 :(得分:3)
答案 2 :(得分:1)
在OSX上,节点安装到/usr/local/bin
,需要在您的路径中。以root身份(/edit/paths
)修改sudo nano /etc/paths
并确保它位于第一行。它应该是这样的:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
然后,您可以通过运行:source /etc/profile
强制bash刷新路径。
答案 3 :(得分:0)
我遇到了同样的问题(在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
希望有所帮助。
答案 4 :(得分:0)
我使用nvm来安装node.js.我通过将$HOME/.nvm/v0.10.25/bin
添加到$PATH
来解决此问题。所以问题是无法找到路径。
答案 5 :(得分:0)
我有同样的问题。我的解决方案是使用sudo ...
。我猜这是因为许可问题。