如何获取npm v5安装依赖项我刚刚在package.json中手动更新了?

时间:2017-07-03 17:55:36

标签: node.js npm package.json

在我的node.js项目中,我曾经在package.json文件中更改依赖项的版本号,然后运行npm installnpm update来安装已配置的版本。

但是,由于我正在使用npm v5,这似乎不再起作用 - 安装和更新实际上都不会安装更新版本。我正在运行node.js v8.1.3和npm v5.0.4。

现在我越来越多地采用一种可怕的解决方法来强制npm实际更新依赖性,只需删除并重新安装所有依赖项:

rm -rf node_modules package-lock.json && npm install

这种感觉就像是一种错误,而不是预期的行为。关于如何让npm v5“正常”工作的任何想法?

更新:

看起来像npm v5确实有一个错误:npm update没有更新devDependencies,请参阅https://github.com/npm/npm/issues/16901

2 个答案:

答案 0 :(得分:0)

安装特定版本的模块,您可以在npm install命令中指定它,而--save也会将它添加到您的package.json中。 这种方式适用于节点8.0.0和npm 5.0.0(升级和降级版本)

npm install --save <module>@<version>

答案 1 :(得分:0)

这是正确的NPM@5.x行为。您应该使用命令行来操作包。

案例1

您需要所有套餐的最新版本。在文件夹中使用npm update

案例2

您需要最新版本的软件包package-onepackage-two。使用npm update package-one package-two

案例3 您需要特定版本的包package-onepackage-two。使用npm install package-one@a.b.c package-two@x.y.z

在任何情况下,该命令都会更新package.jsonpackage-lock.json个文件和node_module文件夹。