在我的node.js项目中,我曾经在package.json
文件中更改依赖项的版本号,然后运行npm install
或npm 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
答案 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-one
和package-two
。使用npm update package-one package-two
。
案例3
您需要特定版本的包package-one
和package-two
。使用npm install package-one@a.b.c package-two@x.y.z
。
在任何情况下,该命令都会更新package.json
,package-lock.json
个文件和node_module
文件夹。