一个软件包什么时候最好全局安装?为什么?
本地包和全局包的主要区别在于此。
- 本地软件包安装在你运行
npm install <package-name>的目录中,它们被放在这个目录下的node_modules文件夹中。 - 全局包都放在你系统中的一个地方(具体位置取决于你的设置),不管你在哪里运行
npm install -g <package-name>
在你的代码中,它们都是以同样的方式被要求的。
那么你应该在什么时候以一种方式或另一种方式安装呢?
一般来说,所有的软件包都应该安装在本地。
这可以确保你的电脑中可以有几十个应用程序,如果需要的话,都可以运行每个包的不同版本。
更新一个全局软件包会使你所有的项目都使用新的版本,你可以想象这可能会在维护方面造成噩梦,因为一些软件包可能会破坏与进一步依赖的兼容性,等等。
所有的项目都有自己的本地版本的软件包,即使这看起来是一种资源的浪费,但与可能产生的负面影响相比,它是微不足道的。
当一个包提供了一个可执行的命令,你可以从shell(CLI)中运行,并且在不同的项目中重复使用时,它应该被全局安装。
你也可以在本地安装可执行命令,并使用npx运行它们,但有些软件包最好是全局安装。
你可能知道的流行的全局软件包的伟大例子是
npmcreate-react-appvue-cligrunt-climochareact-native-cligatsby-cliforevernodemon
你的系统上可能已经有一些全局安装的软件包。你可以通过在命令行上运行
就可以看到它们。