大家好,我想问一个问题,为什么要在全球范围内安装诸如create-react-app或react-native-cli之类的npm软件包。这是否意味着在全局安装软件包时,可以在不同项目中重复使用该软件包。
答案 0 :(得分:-1)
npm文档here
是此答案的一个很好的来源。我使用的一般规则是,如果该软件包可以在多个项目中使用,那么我将在全球范围内应用该软件包。埃斯林特就是一个很好的例子。
答案 1 :(得分:-1)
本地和全局软件包之间的主要区别是:
通常,所有软件包都应在本地安装。
这可以确保您的计算机中可以有数十个应用程序,如果需要,每个应用程序都运行不同的版本。
更新全局软件包将使您的所有项目都使用新版本,并且您可以想象这可能会导致维护方面的噩梦,因为某些软件包可能会破坏与其他依赖项的兼容性,依此类推。
所有项目都有其自己的软件包本地版本,即使这看起来像浪费资源,与可能产生的负面影响相比也很小。
当软件包提供可从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