安装npm包邮两种方式:本地和全局。基于你将如何使用这些包,你选择哪种安装方式。
如果你想依赖来自你自己的模块的包,使用类似Node.js的require,那么请使用本地安装,npm install, 这也是npm的默认行为。另一方面,如果你想使用命令行工具,像是grunt CLI,那么请使用全局安装。
要了解更多关于install命令的行为,看看CLI doc page
安装
要下载一个包,可以使用命令:
npm install <package_name>
该命令会在当前目录下创建一个名为node_modules的文件夹(如果不存在),并下载该包到该目录下。
测试
要确认npm install是否正常工作了。看看node_modules目录下是否包含了你安装的包的名对应的文件夹。linux系统可以使用ls node_modules. 或者在Windows系统下使用dir node_modules命令。
示例
安装名为lodash的包。并验证node_modules下包含lodash目录。
>npm install lodash >ls node_modules
什么版本的包被安装了?
如果在本地目录下没有package.json文件,那么最新版本的包将被安装。
如果在本地目录下有package.json文件。则在package.json中声明的满足semver rule(semantic versioning rules语义版本控制规则)的最新版本将被安装。
使用已安装的包
一旦包存在于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'
要修复这个问题,在indexjs的同目录下执行命令。
npm install lodash