Macos 重新启动后找不到npm命令
计算机重新启动后,Macos 重新启动后找不到npm命令,macos,node.js,terminal,npm,Macos,Node.js,Terminal,Npm,计算机重新启动后,npm命令一直无法识别: -bash: npm: command not found node命令仍然可以正常工作,只是npm不起作用。我必须从主站点重新安装Node.js才能让它重新工作 ~/bin添加到my.bash\u配置文件中的my$PATH,其中包含: export PATH="$HOME/bin:$PATH" 编辑:我也在使用完整版本管理自己的版本,我想知道这里是否有冲突。在OSX上,节点安装到/usr/local/bin,需要在您的路径中。将/Edit/pat
npm
命令一直无法识别:
-bash: npm: command not found
node
命令仍然可以正常工作,只是npm
不起作用。我必须从主站点重新安装Node.js才能让它重新工作
~/bin
添加到my.bash\u配置文件中的my$PATH
,其中包含:
export PATH="$HOME/bin:$PATH"
编辑:我也在使用完整版本管理自己的版本,我想知道这里是否有冲突。在OSX上,节点安装到/usr/local/bin
,需要在您的路径中。将/Edit/paths
编辑为root(sudo nano/etc/paths
),并确保它位于第一行。应该是这样的:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
然后,您可以通过运行以下命令强制bash刷新路径:source/etc/profile
我(在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
希望有帮助。我没有解释,但有几点建议:
正如@LaurentPerrin所述,节点(通过其官方安装程序包)安装到/usr/local/bin
(你为什么提到~/bin
?)
请注意,如果通过node.js version manager使用用户级安装,则会应用不同的规则,在这种情况下,[symlinks to]可执行文件放置在~/.nvm/v{version}/bin
因此,节点
可执行文件应该是/usr/local/bin/node
这(仅)是运行哪个节点时看到的吗
节点
可执行文件直接放在/usr/local/bin
中,而npm
只是一个符号链接,指向/usr/local/lib/node\u modules/npm/bin/npm cli.js
,这是一个带有shebang行的可执行节点脚本/usr/bin/env节点
当你跑的时候
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
查看符号链接是否存在并指向正确的文件
如果仍然不起作用,请尝试直接调用npmcli.js
,看看会发生什么(这将显示npm的命令行帮助):
我使用nvm安装node.js。我通过将$HOME/.nvm/v0.10.25/bin
添加到$PATH
来解决这个问题。所以问题是找不到路径 我也有同样的问题。我的解决方案是使用sudo…
。我猜这是因为权限问题。根据,尝试运行一次:
nvm alias default stable
这将设置在任何新shell中使用的默认节点版本。/usr/local/bin
已在此文件中,但位于列表底部。我将其移动到顶部,保存并刷新了路径,但仍然npm
不工作。您有哪个节点版本?0.10.21,其中包括npm
。我一直需要重新安装才能让npm正常工作。您描述的内容假设通过版本管理器nvm
()使用node.js
nvm
将shell配置文件修改为source~/.nvm/nvm.sh
,然后将其活动的节点.js
版本(例如~/.nvm/v0.10.22
)添加到$PATH
。您需要告诉nvm要使用哪个版本的节点。您可以使用nvm alias default version
将其默认设置为自动使用(无论何时打开终端)。因此,在您的情况下,nvm别名默认值为0.10.22
。或者在每个终端会话上使用nvm使用0.10.22
。这里也有同样的问题!我使用nvm作为安装程序
nvm alias default stable