重新启动后找不到npm命令
计算机重新启动后, npm
命令不断被识别:
-bash: npm: command not found
node
命令仍然正常工作,这只是npm
不工作。 我必须从主站点重新安装Node.js才能重新运行。
~/bin
被添加到我的$PATH
在我的.bash_profile
与:
export PATH="$HOME/bin:$PATH"
编辑:我也使用完整的mathiasbynens / dotfilespipe理自己的版本,我不知道这里是否有冲突。
我没有任何解释,只是几点提示:
正如@LaurentPerrin所说, node
(通过它的官方安装包)安装到/usr/local/bin
。
(你为什么提到~/bin
?)
请注意,如果通过node.js版本pipe理器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
根据nvm自述文件 ,尝试运行一次:
nvm alias default stable
这将设置一个默认的Node版本在任何新的shell中使用。
在OSX上,节点安装到/usr/local/bin
,它需要位于path中。 编辑/edit/paths
为根( sudo nano /etc/paths
),并确保它在第一行。 它应该是这样的:
/usr/local/bin /usr/bin /bin /usr/sbin /sbin
然后,您可以通过运行source /etc/profile
来强制bash刷新path。
我遇到了同样的问题(在OSX上)。 不知道这是否是你的解决scheme,但我最终在这里findnpm:
.nvm/v0.10.22/bin
或者,根据您的版本
.nvm/v0.10.21/bin
然后,我只是打印我的工作目录,并将其添加到我的path。 所以对我来说,当我打开terminal:
cd .nvm/v0.10.22/bin pwd >> /path/to/.nvm/v0.10.22/bin
希望有所帮助。
我使用nvm来安装node.js. 我通过$PATH
添加$HOME/.nvm/v0.10.25/bin
来解决这个问题。 所以问题是path找不到。
我也有同样的问题。 我的解决scheme是使用sudo ...
我猜这是因为权限问题。