Node.js 语义NPM
你可以告诉NPM你想要的哪个版本的包。
例子
例如,以下代码安装underscore的准确版本1.0.3。underscore是一个安装的软件包。
$ npm install underscore@1.0.3
你可以用波浪号“〜”告诉NPM已准备好安装所有1.0补丁版本:
$ npm install underscore@"~1.0.0"
使用“^"告诉NPM已准备好任何次要版本的更改:
$ npm install underscore@"^1.0.0"
支持的其他版本字符串运算符包括“> =”和“>”,其具有直观的数学意义,例如“> = 1.4.2”。
类似地,存在“< =”和“<” ,例如“< 1.4.2”。
还有一个可以在不同的位置使用匹配任何数字,如1.0.。
例如,1.0.0,1.0.1或1.等等,例如1.1.0,1.3.4或只是等,它将每次都为你获取最新的版本。
你也可以在package.json中使用这些语义版本字符串。
更新dependencies
以下package.json告诉NPM,你的包与v1.6.0版的underscore的任何次要升级兼容:
- "dependencies": {
- "underscore": "^1.6.0"
- }
每当使用—save标志时,NPM用于更新package.json dependencies部分的默认值为“^”,在这之前是下载的版本。
下面的命令可以得到一个package.json的dependencies部分:
- $ npm install request@1.0.0 -save
以下是添加到package.json的默认版本字符串:
- "dependencies": {
- "request": "^1.0.0"
- }
查找与package.json中指定的当前语义版本(在此示例中为^1.0.0)兼容的最新在线版本,你可以运行 npm outdated
。
以下代码使用npm outdated检查最新版本的软件包
- $ npm outdated
- npm http GET https://registry.npmjs.org/request
- npm http 304 https://registry.npmjs.org/request
- Package Current Wanted Latest Location
- request 1.0.0 1.9.9 2.34.0 request
要将这些包更新为最新的兼容版本并将结果保存到package.json中,可以简单地运行以下命令。
$ npm update -save
更新的package.json
- "dependencies": {
- "request": "^1.9.9"
- }
更新软件包
要确定你的包是否过期,在项目目录中发出命令 npm outdated
。
npm outdated
npm outdated
检查所有本地包。
要检查单个软件包,请指定其名称。
要检查全局包,请使用 -g
选项。
要更新任何过期的本地软件包,请使用 npm update
命令。
默认情况下,更新适用于所有本地包。
要更新单个模块,请指定其名称。
要更新全局包,请使用-g
选项。
以下代码使用npm更新本身与 -g
选项。
npm update npm -g