在我的node.js项目中,我经常更改package.json文件中依赖项的版本号,然后运行npm install或npm update来安装配置的版本。
但是,由于我使用的是npm v5,这似乎不再起作用了--安装和更新实际上都没有安装更新的版本。我运行的是node.js v8.1.3和NPM5.0.4。
现在,我越来越多地求助于一种可怕的解决办法,迫使npm实际更新依赖项,只需删除和重新安装所有依赖项:
rm -rf node_modules package-lock.json && npm install这种感觉就像一个bug,而不是有意的行为。对于如何使npm v5“正常”工作,有什么想法吗?
更新:
看起来npm v5确实有一个bug:npm update不更新devDependencies,参见https://github.com/npm/npm/issues/16901
发布于 2017-07-03 20:22:29
这是一个正确的NPM@5.x行为。您应该使用命令行对包进行操作。
案例1
您需要所有软件包的最新版本。在文件夹中使用npm update。
案例2
您需要最新版本的包package-one和package-two。使用npm update package-one package-two。
Case 3您需要包package-one和package-two的特定版本。使用npm install package-one@a.b.c package-two@x.y.z。
无论如何,该命令将更新package.json、package-lock.json文件和node_module文件夹。
发布于 2017-07-03 18:24:05
要安装特定版本的模块,您可以在npm命令中指定它,并且--save也会将它添加到您的package.json中。这种方法适用于节点8.0.0和NPM5.0.0(升级和降级版本)。
npm install --save <module>@<version>https://stackoverflow.com/questions/44891546
复制相似问题