8

计算机重新启动后,该npm命令一直无法识别:

-bash: npm: command not found

node命令仍然可以正常工作,只是npm它不起作用。我必须从主站点重新安装 Node.js 才能让它再次工作。

~/bin被添加到我$PATH的我.bash_profile的:

export PATH="$HOME/bin:$PATH"

编辑:我也在使用完整的mathiasbynens/dotfiles来管理自己的版本,我想知道这里是否存在冲突。

4

6 回答 6

6

根据nvm 自述文件,尝试运行一次:

nvm alias default stable

这将设置在任何新 shell 中使用的默认节点版本。

于 2015-06-20T04:46:37.740 回答
4

我没有解释,但有一些指示:

正如@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
于 2013-12-13T20:15:05.810 回答
1

在 OSX 上,节点安装到/usr/local/bin,它需要在您的路径中。/edit/paths以 root ( ) 身份编辑sudo nano /etc/paths并确保它位于第一行。它应该如下所示:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

然后你可以通过运行强制 bash 刷新路径source /etc/profile

于 2013-11-13T11:12:16.243 回答
0

我使用 nvm 安装 node.js。我通过添加$HOME/.nvm/v0.10.25/bin来解决它$PATH。所以问题是找不到路径。

于 2014-02-04T02:31:03.703 回答
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

希望有帮助。

于 2013-12-13T04:31:24.643 回答
0

我也有同样的问题。我的解决方案是使用sudo .... 我猜这是因为权限问题。

于 2014-03-18T03:31:15.753 回答