对于某些包我必须运行sudo npm install -g
而对于其他人npm install
就足够了。
为什么以及有什么区别?
例如:
npm install -g grunt-cli # doesn't work
sudo npm install -g grunt-cli # works
npm install websocket-stream # works
Is sudo
仅需要与-g
flag?
npm
在本地安装软件包,即。在一个node_modules
当前文件夹内的文件夹。这允许您的应用程序依赖于特定的软件包版本,而不必弄乱系统上已安装软件包的全局列表。参见第一段艾萨克的博客文章 http://blog.izs.me/post/1675072029/10-cool-things-you-probably-didnt-realize-npm-could-do (同时处理同一事物的多个版本),这很好地解释了如何npm
避免了其他编程生态系统中经常遇到的依赖地狱。
另一方面,某些软件包旨在用作命令行实用程序,例如grunt-cli
, mocha
or json
。为了在任何地方使用它们,您需要全局安装它们,因此-g
范围。
请注意,您不需要sudo
要安装全局包,请参阅这个相关答案 https://stackoverflow.com/questions/18212175/npm-yo-keeps-asking-for-sudo-permission/18277225#18277225了解更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)