安装节点后找不到NPM命令

时间:2015-09-23 21:11:15

标签: node.js unix npm zsh zshrc

我很难让npm命令工作,不幸的是我对unix的了解并不足以解决这个问题。我所做的只是brew install node,我收到以下错误:

当我输入npm时,我会zsh: command not found: npm

调查此问题后,我发现此堆栈溢出答案:

Command not found after npm install in zsh

根据其建议,我尝试将export PATH=/usr/local/share/npm/bin:$PATH添加到我的.zshrc文件中。键入npm

时仍会出现相同的错误

我可以确认它在路径echo $PATH中产生/Users/nicholashaley/.rbenv/shims:/Users/nicholashaley/.rbenv/bin:/Applications/Postgres.app/Contents/Versions/9.3/bin:/usr/local/heroku/bin:/usr/local/share/npm/bin:/usr/local/bin:/Applications/Postgres.app/Contents/Versions/9.3/bin:/usr/local/heroku/bin:/Users/nicholashaley/.rbenv/shims:/usr/local/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

我还可以确认已安装节点node -v会产生v0.12.2

有什么想法吗?我很难过

8 个答案:

答案 0 :(得分:39)

不是答案,但可能是解决方案......

通过brew:brew uninstall node

卸载Node

然后从https://nodejs.org/en/download/下载节点并安装。

然后

npm应该"只是工作"。

答案 1 :(得分:29)

我遇到了同样的问题我遇到了这个问题,但最后下面的内容对我来说没有sudo

$ brew update
$ brew uninstall node
$ brew install node
$ chown -R YourUserName /usr/local/lib/node_modules/
$ brew postinstall node #This what the important step

答案 2 :(得分:18)

好的,这对我有用:

$ brew update
$ brew uninstall node
$ brew install node
$ sudo brew postinstall node #This what the important step

答案 3 :(得分:7)

如果这从未得到解决,这对我有用:

  1. brew uninstall node
  2. brew install node
  3. brew doctor,看看需要修剪什么。我的问题是有一个非酿造的地方我改变了我的npm包的安装位置,因为我试图为我安装一个npm包。这是一个错误(忘记我最初安装节点和npm通过brew,但现在brew无法再到达npm安装目录,也无法更改或删除它)。所以即使符号链接被删除,brew prune也无法正常工作,但它提醒我已经更改了npm安装位置。这将我们带到:

  4. 删除这些目录

  5. brew postinstall node
  6. 希望它有所帮助。

答案 4 :(得分:1)

我发现本文对分步详细信息很有帮助:
https://www.dyclassroom.com/howto-mac/how-to-install-nodejs-and-npm-on-mac-using-homebrew

此外,在完成以上文章中的所有步骤之后,节点可以正常工作,但是我的机器仍在发出“找不到命令:npm”。然后,我运行以下两个命令,npm正常运行。

sudo chown -R myusername:myusergroup /usr/local/lib/node_modules
brew postinstall node

答案 5 :(得分:0)

LTS版本中的任何人都使用以下命令:

brew postinstall node@6

答案 6 :(得分:0)

要点问题的详细信息以及解决方法

  1. Installed nodeJs via nvm using Git Bash
  2. Installed hyper terminal & WSL
  3. Installed Ubuntu (windows Store) & configured zsh shell. 
  4. Faced the command not found all over in the zsh shell
  5. The same commands are working nicely in the bash shell

尝试在。 zshrc .profile 文件中找到(node,nvm,npm)路径, 在Windows中修改了系统和环境变量。这些步骤都没有帮助我解决问题。

我认为问题是zsh和bash终端对事情的处理不同。当安装在bash终端中时,Windows中的nodeJs的默认位置将设置为

C:\Users\Program Files\nodejs

以上代码与C:\Users\<username>\AppData\Roaming\nvm

链接

无论我在zsh中尝试对这些内容进行别名多少,只有node和nvm都可以使用别名。 npm无法找到必要的lib文件。

唯一适用于我的解决方案是在zsh终端中重新安装节点

  1. 删除了在Bash终端中通过nvm安装的节点版本。
  2. 通过控制面板删除了Windows中的nvm
  3. 在zsh shell中安装了nvm
  4. 安装了节点的最新LTS版本,并从中安装了npm。

在Zsh中通过nvm安装节点后,我观察到以下情况。

  1. 该节点的路径nvm,npm和npx已自动添加到$ PATH变量中
  2. 节点目录在C:\Users\Program Files\nodejs中都不可用 也没有C:\Users\{username}\AppData\Roaming\nvm
  3. 相反,它在/home/<username>/.nvm/versions/node/v14.15.1/bin/node上的配置不同

该视频确实帮助我在ZSH中重新安装了该节点:https://www.youtube.com/watch?v=kL8iGErULiw

答案 7 :(得分:0)

通常 npm 应该与 node 可执行文件位于同一目录中,这可以由 which node 确定。检查此目录是否是您的 PATH 的一部分。如果节点是通过节点版本管理器(例如 nodenvnvm)安装的,请查看文档以了解如何将这些可执行文件添加到路径中。

使用 nodenv,这可以通过:

eval "$(nodenv init -)"