上一章:卸载 npm 软件包 | 下一章:npm 依赖与开发依赖 |
本地和全局的软件包之间的主要区别是:
npm install <package-name>
的目录中,并且放置在此目录下的 node_modules
文件夹中。npm install -g <package-name>
。在代码中,应该只引入本地的软件包:
require('package-name')
所以何时应该以一种或另一种方式安装?
通常,所有的软件包都应本地安装。
这样可以确保计算机中可以有数十个应用程序,并且如果需要,每个应用程序都可以运行不同的版本。
更新全局软件包会使所有的项目都使用新的版本,这可能会导致维护方面的噩梦,因为某些软件包可能会破坏与其他依赖项的兼容性等。
所有的项目都有自己的软件包本地版本,即使这看起来有点浪费资源,但与可能产生的负面影响相比也很小。
当程序包提供了可从 shell(CLI)运行的可执行命令、且可在项目间复用时,则该程序包应被全局安装。
也可以在本地安装可执行命令并使用 npx 运行,但是某些软件包最好在全局安装。
一些流行的全局软件包的示例有:
npm
create-react-app
vue-cli
grunt-cli
mocha
react-native-cli
gatsby-cli
forever
nodemon
可能已经在系统上安装了一些全局软件包。 可以通过在命令行上运行以下命令查看:
npm list -g --depth 0