我从另一个项目中复制了package.json,现在想将所有依赖项都升级到最新版本,因为这是一个新项目,如果出现问题,我不介意修复。
最简单的方法是什么?
我知道的最好的方法是运行npm info express版本,然后手动更新package.json中的每个依赖项。一定有更好的办法。
{
"name": "myproject",
"description": "my node project",
"version": "1.0.0",
"dependencies": {
"express": "^3.0.3", // how do I get these bumped to latest?
"mongodb": "^1.2.5",
"underscore": "^1.4.2"
}
}
有关纱线特定的解决方案,请参阅本堆栈溢出线程。
无需额外软件包的解决方案
将每个依赖项的版本更改为*:
"dependencies": {
"react": "*",
"react-google-maps": "*"
}
然后运行npm update--save。
您的一些软件包已更新,但有些没有更新?
"dependencies": {
"react": "^15.0.1",
"react-google-maps": "*"
}
这是一个棘手的部分,这意味着你的本地版本“react”比最新版本低。在本例中,npm下载并更新了“react”包。然而,您的本地版本“反应谷歌地图”与最新版本相同。
如果您仍然希望“更新”未更改*,则必须从node_modules文件夹中删除这些模块。
例如删除node_modules/react谷歌地图。
最后再次运行npm更新--save。
"dependencies": {
"react": "^15.0.1",
"react-google-maps": "^4.10.1"
}
如果您想更新开发依赖项,请不要忘记运行npm update--save dev。
用于更新NPM 3.10.10的package.json的命令:
npm install -g npm-check-updates
ncu -a
npm install
背景:
我使用的是@josh3736的最新命令,但我的package.json没有更新。然后,在运行npm检查更新-u时,我注意到了描述文本:
以下依赖性通过其声明的版本范围来满足,但安装的版本落后。您可以安装最新的版本,而无需使用npm更新来修改包文件。如果如果仍要更新包文件中的依赖项,请运行ncu-a。
阅读npm检查更新的文档,您可以看到不同之处:
https://www.npmjs.com/package/npm-check-updates
-u、 --升级:覆盖包文件-a、 --upgradeAll:甚至包括最新版本满足声明的semver依赖项的依赖项
ncu是npm check updates的别名,如键入npm check update-u时的消息所示:
[INFO]: You can also use ncu as an alias