对于更新一个新版本的库是比较复杂的。在package.json中有非常复杂的语义规范,因此命令行更新npm依赖关系会更方便。

通过 npm update 更新依赖库
当您首次运行npm install创建一个新项目时,npm会安装在package.json中定义的最新版本的程序初始安装后,重新运行npm install不会更新现有软件包,因为npm已经在文件系统上找到了符合当前环境的版本。

这时您可以用npm update用来刷新已安装的软件包。运行时npm update,npm会检查存储库中是否存在更新的版本。

假设我们的程序依赖于lodash ^ 3.9.2,我们安装了该版本node_modules/lodash。

1
2
3
"dependencies": {
"lodash": "^3.9.2"
}

然后运行npm update安装版本3.10.1 node_modules/lodash但保持package.json不变(你可以通过在命令中添加--save选项来改变package.json中记录的版本)。

1
2
$ npm update
└── lodash@3.10.1

使用@latest标签进行更大的更新
更新超出语义版本范围的版本需要两个部分。首先,您要求npm列出哪些包具有可用的新版本npm outdated。

1
2
3
$ npm outdated
Package Current Wanted Latest Location
lodash 3.10.1 3.10.1 4.16.4 backend

然后你问npm安装最新版本的软件包。您可以使用@latest标签索取最新版本。您还应该使用该–save标志进行更新package.json。

1
$ npm install lodash@latest --save

现在npm安装版本4.16.4下node_modules。此外,package.json更新。

1
2
3
"dependencies": {
"lodash": "^4.16.4"
}