# npm 安装包

# 安装本地包

有两种方式用来安装 npm 包:本地安装和全局安装。至于选择哪种方式来安装,取决于我们如何使用这个包。

  • 如果你自己的模块依赖于某个包,并通过 Node.js 的 require 加载,那么你应该选择本地安装,这种方式也是 npm install 命令的默认行为。
  • 如果你想将包作为一个命令行工具,(比如 grunt CLI),那么你应该选择。

想要了解更多关于 install 命令行的行为,可以查看 CLI 文档

# 安装包

# 安装

可以使用下面的命令来安装一个包:

> npm install <package_name>

上述命令执行之后将会在当前的目录下创建一个 node_modules 的目录(如果不存在的话),然后将下载的包保存到这个目录下。

# 测试

为了确认 npm install 是正常工作的,可以检查 node_modules 目录是否存在,并且里面是否含有你安装的包的文件夹。

# 实例

安装一个叫做 lodash 的包。安装成功之后,如果 node_modules 目录下存在一个名为 lodash 的文件夹,则说明成功安装了这个包。

Microsoft Windows:

C:\ npm install lodash
C:\ dir node_modules

#=> lodash

macOS, Ubuntu, Debian

> npm install lodash
> ls node_modules

#=> lodash

# 哪个版本的包被安装

在本地目录中如果没有 package.json 这个文件的话,那么最新版本的包会被安装。

如果存在 package.json 文件,则会在 package.json 文件中查找针对这个包所约定的 语义化版本规则 ,然后安装符合此规则的最新版本。

# 使用已安装的包

一旦将包安装到 node_modules 目录中,你就可以使用它了。比如在你所创建的 Node.js 模块中,你可以 require 这个包。

# 实例

创建一个名为 index.js 的文件,并保存如下代码:

// index.js
var lodash = require('lodash');
var output = lodash.without([1, 2, 3], 1);
console.log(output);

运行 node index.js 命令。应当输出 [2, 3]

如果你没能正确安装 lodash ,你将会看到如下的错误信息:

module.js:340
    throw err;
          ^
Error: Cannot find module 'lodash'

可以在 index.js 所在的目录中运行 npm install lodash 命令来修复这个问题。

# 安装全局包

有两种方式用来安装 npm 包:本地安装和全局安装。选用哪种方式来安装,取决于你如何使用这个包。

如果你想将其作为一个命令行工具,那么你应该将其安装到全局。这种安装方式后可以让你在任何目录下使用这个包。比如 grunt 就应该以这种方式安装。

如果你想依赖你自己模块中的包,请在本地安装。例如,如果使用了 require 语句,你将使用此选项。

将包安装到全局,你应该使用 npm install -g <package> 命令,例如:

npm install -g jshint

如果你遇到 EACCES 错误,请查看 NPM 防止权限错误

Last Updated: 4/7/2023, 11:06:25 PM