Zshell和Nodejs的问题

16 浏览
0 Comments

Zshell和Nodejs的问题

前一段时间,Apple切换到了Zshell,我在一些事情上遇到了问题,比如使NPM工作,所以我按照Stack上的这个答案(链接:https://stackoverflow.com/questions/12743928/command-not-found-after-npm-install-in-zsh)在.zshrc中添加了这个代码:source /Users/Scott/.bashrc。\n几天前,我尝试更新node,使用了sudo n latest之后,我有两个版本的node:\n已安装:v17.5.0,位置:/usr/local/bin/node \n正在使用:v12.4.0,位置:/Users/scott/.nvm/versions/node/v12.4.0/bin/node\n\n所以我进入.zshrc并注释掉了source /Users/Scott/.bashrc,node更新到了v17.5.0。\n然而,我尝试使用NPM做一些事情时出现了NPM EACCES权限错误。我读到需要重新安装NPM,所以我首先安装了NVM,然后重新安装了NPM。我检查了node的版本,它又回到了版本12.4,所以我运行了`sudo n latest\',现在我又回到了两个不同位置的nodejs,我不知道该怎么办了!\n我应该从.zshrc中删除这段代码吗?\n

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  
# This loads nvm bash_completion

\n非常感谢任何帮助!\n更新\n我卸载了NVM版本的node(根据@nthnua的建议),然后更新到了node 17.4。我运行了n latest,它“安装”了,但是所有的东西都显示权限被拒绝。再次使用NPM会给我权限错误。\n更新\n我按照这个链接(链接:https://github.com/tj/n/issues/416#issuecomment-417808320)解决了权限错误的问题。

0
0 Comments

在这段内容中,问题的出现原因是由于从官方源安装了Node.js,并且安装路径为/usr/local/bin/node,导致权限不足,无法执行像"npm install -g"这样的命令。解决方法是通过卸载上述安装并重新安装来解决。

解决方法如下:

1. 首先,如果打算使用nvm来管理Node.js的安装,建议先卸载上述的Node.js安装。具体卸载步骤可以参考这个链接:How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)

2. 如果打算使用n来管理Node.js,可以尝试先移除所有已安装的Node.js版本,然后重新安装最新版本。这样应该可以解决问题。

代码示例:

$ nvm uninstall --all

$ nvm install node

通过以上步骤,可以解决Zshell和Node.js的相关问题。

0