1

参见例如:https ://npmjs.org/package/generator-meteor

几乎所有涉及npm说使用的安装说明npm install -g。为什么我希望所有东西都安装在全局而不是只为我当前的 *nix 用户?

4

2 回答 2

3

而不仅仅是我当前的 *nix 用户

在这种情况下,本地意味着“只有一个节点应用程序”,而不是“只为我的用户”。分别地,全局意味着“针对所有节点应用程序”,而不是“针对这台计算机上的所有用户”。

全局安装的 NPM 模块通常实现跨应用程序使用的功能,而不仅仅是在一个项目中。一个例子是命令行工具。您全局安装 npm 包,它为您提供了一种从操作系统终端调用命令的方法。由于这仅在一个应用程序中没有意义,因此您必须将其安装在全局 NPM 位置。当然,您需要确保该模块在安装之前确实需要跨应用程序工作。

您链接的生成器由 Yeoman 使用,它是一个用于构建应用程序的命令行工具。因此全球需要。

于 2013-10-24T20:57:18.253 回答
0

当您npm install在 package.json 所在的目录中执行操作时,npm 会创建一个 node_modules 文件夹并将所有需要的项目包放入其中。

当您执行npm install -g已安装的软件包时,/usr/lib/node_modules/将使它们在全球范围内可用。(-g 代表“全局”)并允许 CLI 实现。像 express 一样(如express --sessions project,如果不全局安装 express 就无法使用)

几乎每个教程都需要全局安装,因为它们使用 CLI 东西,或者您稍后会使用它们,因此最好安装它们。

于 2013-10-25T06:29:28.747 回答