Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 重新启动后找不到npm命令_Macos_Node.js_Terminal_Npm - Fatal编程技术网

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