不久前,我尝试在我的Mac上使用sudo npm install更新npm,所以这个更新不起作用,现在我无法运行我的任何npm程序。在这个问题之后,我试图解决它,在npm论坛上搜索一些答案,我发现一个开发者说“永远不要使用sudo npm install,特别是在MacOS上”的讨论。所以我的问题是
我很抱歉我的英语很差,但我尽力做到最好。谢谢你的耐心。
发布于 2019-03-07 15:29:19
我写了一篇关于这个问题的文章,其中还介绍了一些无需使用sudo:https://medium.com/@ExplosionPills/dont-use-sudo-with-npm-still-66e609f5f92来管理节点/npm版本的解决方案。
我试着在这里总结一下。
首先,如果您正在使用MacOS,如果您还没有使用自制,我强烈建议您使用自制来安装系统节点。您应该能够运行brew install node (它还将安装npm和yarn),而无需使用sudo,前提是您已经正确地完成了自制设置。
如果您想管理Node的多个版本,我强烈建议将https://github.com/tj/n作为一种工具。nvm也很受欢迎,但我更喜欢n。在我的文章中,我介绍了如何安装和管理n,但是也有人创建了一个工具来帮助您完成以下工作:https://github.com/mklement0/n-install。
您还可以查看这部分我2015年的文章是关于同一主题的。,以帮助您解决过去运行sudo npm install可能面临的问题。您可以在您的项目中尝试sudo rm -rf node_modules,然后是npm install (没有sudo)。
类似地,如果全局安装了前缀错误的节点模块,则可能需要执行类似于sudo rm -rf $(npm prefix -g)/{bin,lib/node_modules}的操作。请注意,这将删除您之前安装的sudo库,因此您必须再次安装它们。
除了遇到的问题之外,不应该使用sudo npm的一个关键原因是npm命令(包括install )能够运行任意脚本,包括从注册表下载的脚本。您不希望将根权限授予运行任意脚本的对象!
https://stackoverflow.com/questions/55047241
复制相似问题