我刚刚用Homebrew安装了node和npm,他们都工作正常,直到今天我一直遇到npm命令找不到错误。
当运行$ whereis节点时,我什么也得不到
当我执行$哪个节点时,我看到/ usr / local / bin / node
当我做$ node -v时,我看到v4.4.7
当我做$ whereis npm时,我什么也得不回来
当我做npm的时候,我什么也得不回来
当我执行$ npm -v时,我看到-bash:npm:command not found
我试过了
$ brew update
$ brew uninstall npm
$ brew install npm
我还确保我的$NODE_PATH
环境变量已设置:
# In ~/.bash_profile file:
export NODE_PATH="/usr/local/lib/node_modules"
我也遵循了https://himanen.info/solved-npm-command-not-found/的这些指示
似乎没有什么工作,我继续得到npm:当我在任何npm的文件夹中运行任何命令时找不到命令。有任何想法吗?谢谢
找出问题所在。所以问题的根源在于我使用Homebrew安装了npm,并且在Homebrew和npm的引擎盖下发生了一些问题。
要解决这个问题,我做了以下事情:
rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh
重要!在.bash_profile中执行此操作
export PATH="$HOME/.npm-packages/bin:$PATH"
export PATH="$HOME/.node/bin:$PATH"
现在一切都像魅力一样
我有同样的问题,我正在使用MAC。 在我的案例中这是一个许可问题,这是我已经做过的事情:
$ brew update
$ brew uninstall npm
$ brew install npm
这不适合我,所以我尝试了这个:
$ sudo chmod -R 777 /usr/local/lib
$ brew postinstall node
当我输入时,这个链接已安装的节点与npm:
$ npm -v
5.3.0
现在NPM遵循的所有命令都正常工作,
像npm install
希望这对所有人都有用!!
在mac via homebrew中,当你得到错误时
Error: Permission denied @ dir_s_mkdir - /usr/local/lib/node_modules/npm
或者大多数获得几个文件夹权限,不要给予完全许可
$ sudo chmod -R 777 /usr/local/lib
请按照以下说明使用
$ sudo chown -R $(whoami):admin /usr/local/lib/node_modules/
它会做什么,只是给用户所有权(linux用户也可以使用它)。
提示:在mac中请使用自制软件进行安装。自制软件的优点是你可以在版本之间切换,易于卸载,你不需要以root身份运行(sudo),就像明智的很多优点一样,作为开发人员推荐使用自制程序(https://brew.sh/)。还有一件事,无论何时你得到一些错误,比如拒绝许可或什么都没有,请给予完全许可,而不是使用chmod use chown。