4、本地安装npm包

安装npm包有两种方式:本地安装或全局安装。根据你想如何使用包,你可以选择安装方式。

如果你想要从你自己的模块中通过使用Node.js的require方法来依赖某个包,那你可以本地安装这个包,这是npm安装的默认行为。另外,如果你想当做命令行工具使用它,比如grunt CLI,那你应该全局安这个包。

要学习更多关于安装命令的行为,请查看CLI文档页面。

安装

包可以用以下命令下载:

> npm install <package_name>

此命令将在你的当前目录创建node_modules目录(若还未安装任何包),并将下载此包到这个目录。

测试

为确保npm安装正确工作,请检查node_modules目录是否存在,以及其下是否包含你安装的包 目录。你可以在Unix系统(如OSX、Debian)中执行“ls node_modules”命令或在Windows系统中执行“dir node_modules”命令来检查。

例子:

安装一个叫“lodash”的包。通过列出node_modules目录内容,看看其中是否存在一个叫“lodash”的目录,来确认成功执行命令。

> npm install lodash
> ls node_modules               # windows中使用 `dir`
 
#=> lodash

安装的是哪个版本的包?

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

如果有package.json文件,那么在package.json中声明的满足semver(语义化版本)规则的最新版本会被安装。

使用已安装的包

一旦包被安装在node_modules,你就可以在你的代码中使用它了。比如,当你创建Node.js模块是,你可以引入它。

示例:

创建名为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"

解决方法:cd到index.js同级目录,运行“npm install lodash”命令。

文章导航