小提示:
npm i
是npm install
的简写,建议使用npm i
。
直接使用 npm i
安装的模块是不会写入 package.json 的 dependencies (或 devDependencies),需要额外加个参数:
npm i express --save
/npm i express -S
(安装 express,同时将"express": "^4.14.0"
写入 dependencies )npm i express --save-dev
/npm i express -D
(安装 express,同时将"express": "^4.14.0"
写入 devDependencies )npm i express --save --save-exact
(安装 express,同时将"express": "4.14.0"
写入 dependencies )
第三种方式将固定版本号写入 dependencies,建议线上的 Node.js 应用都采取这种锁定版本号的方式,因为你不可能保证第三方模块下个小版本是没有验证 bug 的,即使是很流行的模块。拿 Mongoose 来说,Mongoose 4.1.4 引入了一个 bug 导致调用一个文档 entry 的 remove 会删除整个集合的文档,见:https://github.com/Automattic/mongoose/blob/master/History.md#415—2015-09-01。
后面会介绍更安全的
npm shrinkwrap
的用法。