我很难让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
有什么想法吗?我很难过
答案 0 :(得分:39)
不是答案,但可能是解决方案......
通过brew:brew uninstall 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)
如果这从未得到解决,这对我有用:
brew uninstall node
brew install node
brew doctor
,看看需要修剪什么。我的问题是有一个非酿造的地方我改变了我的npm包的安装位置,因为我试图为我安装一个npm包。这是一个错误(忘记我最初安装节点和npm通过brew,但现在brew无法再到达npm安装目录,也无法更改或删除它)。所以即使符号链接被删除,brew prune
也无法正常工作,但它提醒我已经更改了npm安装位置。这将我们带到:
删除这些目录
brew postinstall node
希望它有所帮助。
答案 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中通过nvm安装节点后,我观察到以下情况。
C:\Users\Program Files\nodejs
中都不可用
也没有C:\Users\{username}\AppData\Roaming\nvm
/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
的一部分。如果节点是通过节点版本管理器(例如 nodenv
和 nvm
)安装的,请查看文档以了解如何将这些可执行文件添加到路径中。
使用 nodenv
,这可以通过:
eval "$(nodenv init -)"