为什么要全局安装npm软件包?

时间:2019-07-18 03:41:37

标签: javascript

大家好,我想问一个问题,为什么要在全球范围内安装诸如create-react-app或react-native-cli之类的npm软件包。这是否意味着在全局安装软件包时,可以在不同项目中重复使用该软件包。

3 个答案:

答案 0 :(得分:-1)

npm文档here

是此答案的一个很好的来源。

我使用的一般规则是,如果该软件包可以在多个项目中使用,那么我将在全球范围内应用该软件包。埃斯林特就是一个很好的例子。

答案 1 :(得分:-1)

本地和全局软件包之间的主要区别是:

  • 本地软件包安装在运行npm install的目录中,它们放在该目录下的node_modules文件夹中
  • 全局软件包都放在系统中的单个位置(确切的位置取决于您的设置),无论您在哪里运行npm install -g

通常,所有软件包都应在本地安装。

这可以确保您的计算机中可以有数十个应用程序,如果需要,每个应用程序都运行不同的版本。

更新全局软件包将使您的所有项目都使用新版本,并且您可以想象这可能会导致维护方面的噩梦,因为某些软件包可能会破坏与其他依赖项的兼容性,依此类推。

所有项目都有其自己的软件包本地版本,即使这看起来像浪费资源,与可能产生的负面影响相比也很小。

当软件包提供可从Shell(CLI)运行的可执行命令并且可在项目中重复使用时,应在全局安装该软件包。

更多详细信息,请点击https://nodejs.org/fa/blog/npm/npm-1-0-global-vs-local-installation/

答案 2 :(得分:-1)

如果不使用-g选项进行安装,则该软件包将仅复制到项目目录内的node_modules文件夹中。

全局安装会将所有文件复制到节点可以从任何地方访问的位置。

npm install -g my_lib