Node.js 如何解决;sudo npm安装“安装”;关于MacOS的问题
不久前,我尝试在Mac上使用Node.js 如何解决;sudo npm安装“安装”;关于MacOS的问题,node.js,macos,npm,installation,sudo,Node.js,Macos,Npm,Installation,Sudo,不久前,我尝试在Mac上使用sudo npm install更新npm, 所以更新不起作用,现在我无法运行任何npm项目。 在这个问题之后,我试图解决它,在npm论坛上搜索一些答案,我发现了一个讨论,其中一个开发者说“永远不要使用sudo npm安装,尤其是在MacOS上”。 所以我的问题是 如果可能,如何在不格式化电脑的情况下解决此问题 为什么将sudo与npm命令一起使用是个坏主意? 很抱歉我的英语不好,但我努力做到最好。 感谢您的耐心。我写了一篇关于这个问题的文章,还介绍了一些不用sud
sudo npm install
更新npm,
所以更新不起作用,现在我无法运行任何npm项目。
在这个问题之后,我试图解决它,在npm论坛上搜索一些答案,我发现了一个讨论,其中一个开发者说“永远不要使用sudo npm安装,尤其是在MacOS上”。
所以我的问题是
如果可能,如何在不格式化电脑的情况下解决此问题
为什么将sudo与npm命令一起使用是个坏主意?
很抱歉我的英语不好,但我努力做到最好。
感谢您的耐心。我写了一篇关于这个问题的文章,还介绍了一些不用sudo
管理node/npm版本的解决方案:
我将在这里总结一下
首先,如果您使用的是MacOS,我强烈建议您使用来安装system node,如果您还没有这样做的话。您应该能够运行brew安装节点
(该节点还将安装npm
和warn
),而无需使用sudo,前提是您已正确完成了自制设置
如果您想管理多个版本的Node,我强烈推荐将其作为一种工具nvm
也很流行,但我更喜欢n
。我在文章中介绍了如何安装和管理n
,但也有人创建了一个工具来帮助您完成这一过程:
您还可以查看一下,以帮助您解决过去运行sudo npm install
可能遇到的问题。您可以在项目中尝试sudo rm-rf node_模块
,然后安装npm
(不带sudo)
类似地,如果全局安装了前缀错误的节点模块,您可能必须执行类似于sudo rm-rf$(npm prefix-g)/{bin,lib/node_modules}
的操作。请注意,这将删除您以前使用sudo安装的库,因此您必须再次安装它们
除了您遇到的问题之外,您不应该使用sudo npm
任何东西的一个关键原因是npm
命令(包括install
命令)能够运行任意脚本,包括从注册表下载的脚本。你不想给运行任意脚本的东西授予根权限 @Miladrezadeh你后悔跑哪个指挥部?万一你否决了我的答案,也许有一个误解我可以澄清。