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的任何次要升级兼容:

  1. "dependencies": {
  2. "underscore": "^1.6.0"
  3. }

每当使用—save标志时,NPM用于更新package.json dependencies部分的默认值为“^”,在这之前是下载的版本。

下面的命令可以得到一个package.json的dependencies部分:

  1. $ npm install request@1.0.0 -save

以下是添加到package.json的默认版本字符串:

  1. "dependencies": {
  2. "request": "^1.0.0"
  3. }

查找与package.json中指定的当前语义版本(在此示例中为^1.0.0)兼容的最新在线版本,你可以运行 npm outdated

以下代码使用npm outdated检查最新版本的软件包

  1. $ npm outdated
  2. npm http GET https://registry.npmjs.org/request
  3. npm http 304 https://registry.npmjs.org/request
  4. Package Current Wanted Latest Location
  5. request 1.0.0 1.9.9 2.34.0 request

要将这些包更新为最新的兼容版本并将结果保存到package.json中,可以简单地运行以下命令。 $ npm update -save 更新的package.json

  1. "dependencies": {
  2. "request": "^1.9.9"
  3. }

更新软件包

要确定你的包是否过期,在项目目录中发出命令 npm outdated npm outdated npm outdated 检查所有本地包。

要检查单个软件包,请指定其名称。

要检查全局包,请使用 -g 选项。

要更新任何过期的本地软件包,请使用 npm update 命令。

默认情况下,更新适用于所有本地包。

要更新单个模块,请指定其名称。

要更新全局包,请使用-g 选项。

以下代码使用npm更新本身与 -g 选项。 npm update npm -g