我什么时候应该在npm中使用“ -g”标志,为什么?


117

我最近开始使用npm进行js软件包管理。虽然我对不同环境中的软件包管理有一定的了解(可以说使用apt,rvm / gem,pythonbrew / virtualenv / pip),但我不太了解npm的功能。

我想了解更多有关“ -g”标志如何工作以及为什么要使用它的信息。与大多数博客和Wiki中一样,它们在安装时使用“ -g”来表示而不解释原因,并且我知道这些软件包是全局安装的。

  • 但是,为什么我应该始终在全球范围内安装这些软件包?
  • 不带“ -g”标志安装这些软件包意味着什么?
  • 我要如何在本地安装软件包,比如说针对不同项目的沙盒?
  • 然后,如果需要使用版本控制(如果可能的话)将其检入,该如何列出项目中使用的npm软件包并将其捆绑在项目中?

Answers:


122

-g全局安装标志,如本答案所述。在该节点博客文章中将对其进行详细介绍。

经验法则:

  • 如果软件包提供命令行工具,则进行全局安装
  • 如果将软件包作为应用程序的一部分使用,则在本地安装
  • 如果两个用例都适用,则在全局本地安装

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.