首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决MacOS上的"sudo npm安装“问题

如何解决MacOS上的"sudo npm安装“问题
EN

Stack Overflow用户
提问于 2019-03-07 15:21:17
回答 1查看 4.5K关注 0票数 2

不久前,我尝试在我的Mac上使用sudo npm install更新npm,所以这个更新不起作用,现在我无法运行我的任何npm程序。在这个问题之后,我试图解决它,在npm论坛上搜索一些答案,我发现一个开发者说“永远不要使用sudo npm install,特别是在MacOS上”的讨论。所以我的问题是

  1. 如何在不格式化个人电脑的情况下解决这个问题,如果可能的话,
  2. ,为什么在npm命令中使用sudo是个坏主意?

我很抱歉我的英语很差,但我尽力做到最好。谢谢你的耐心。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-07 15:29:19

我写了一篇关于这个问题的文章,其中还介绍了一些无需使用sudohttps://medium.com/@ExplosionPills/dont-use-sudo-with-npm-still-66e609f5f92来管理节点/npm版本的解决方案。

我试着在这里总结一下。

首先,如果您正在使用MacOS,如果您还没有使用自制,我强烈建议您使用自制来安装系统节点。您应该能够运行brew install node (它还将安装npmyarn),而无需使用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 )能够运行任意脚本,包括从注册表下载的脚本。您不希望将根权限授予运行任意脚本的对象!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55047241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档