我从另一个项目复制了package.json
,现在希望将所有依赖项都更新到它们的最新版本,因为这是一个新项目,如果它坏了,我不介意修复它。
最简单的方法是什么?
我知道的最好的方法是运行NPM info express Version
,然后手动更新package.json
中的每个依赖项。一定有更好的办法。
{
"name": "myproject",
"description": "my node project",
"version": "1.0.0",
"engines": {
"node": "0.8.4",
"npm": "1.1.65"
},
"private": true,
"dependencies": {
"express": "~3.0.3", // how do I get these bumped to latest?
"mongodb": "~1.2.5",
"underscore": "~1.4.2",
"rjs": "~2.9.0",
"jade": "~0.27.2",
"async": "~0.1.22"
}
}
对于纱线的特定解决方案,请参阅此StackOverflow线程。
npm-check-updates
是一个使用所有依赖项的最新版本自动调整package.json的实用程序
参见https://www.npmjs.org/package/npm-check-updates
$ npm install -g npm-check-updates
$ ncu -u
$ npm install
[EDIT]如果您有npm
的现代版本,那么一种稍微不那么侵入性(避免全局安装)的方法是:
$ npx npm-check-updates -u
$ npm install
看起来npm-check-updates是现在唯一能实现这一点的方法。
npm i -g npm-check-updates
ncu -u
npm install
npm<3.11:
只需将每个依赖项的版本更改为*
,然后运行NPM update-save
。(注:在最近的(3.11)版本的npm中中断)。
之前:
"dependencies": {
"express": "*",
"mongodb": "*",
"underscore": "*",
"rjs": "*",
"jade": "*",
"async": "*"
}
之后:
"dependencies": {
"express": "~3.2.0",
"mongodb": "~1.2.14",
"underscore": "~1.4.4",
"rjs": "~2.10.0",
"jade": "~0.29.0",
"async": "~0.2.7"
}
当然,这是更新依赖项的钝锤。如果--就像你说的--项目是空的,什么都不能坏,那就好了。
另一方面,如果您在一个更成熟的项目中工作,那么您可能希望在升级之前验证依赖项中没有重大更改。
要查看哪些模块已经过时,只需运行NPM outdated
。它将列出任何已安装的具有较新版本可用的依赖项。
问题内容: 我从另一个项目复制了package.json,现在想将所有依赖项都升级到最新版本,因为这是一个新项目,如果出现问题,我不介意进行修复。 最简单的方法是什么? 我现在知道的最好的方法是手动运行每个包,然后手动更新package.json。肯定有更好的办法。 19年5月1日更新 :六年后,我仍在维护npm-check-updates作为该问题的综合解决方案。请享用! 问题答案: 看起来np
我有一个react应用程序,其依赖项已弃用。为了让它工作,我必须将依赖项更新到更新(但稳定)的版本。 根据这个stakoverflow线程,要将package.json中的依赖项更新到最新版本,npm-check-更新是npm的最佳选项。然而,我使用纱线进行包装管理。纱线中是否有相当于npm检查更新。因此,我使用单个包管理器来管理我的依赖关系。
虽然在处理未解决的依赖项时存在许多问题,但似乎没有更新这些依赖项的通用方法。 您需要手工为每一个检查maven central,还是有一些漂亮的工具可以自动将它们更新到最新版本?
我试图为我们的项目定义一个发布过程。 我能够使用maven发布插件来完成发布,但我必须手动更新所有内部快照依赖项,以在准备之前发布版本,然后在发布之后再次返回快照版本。 我使用了maven版本插件,它检测我的公司依赖项,即快照构建,并列出要使用的正确版本构建。 我尝试了maven发布插件,准备目标,并抱怨我的依赖项中的SNAPSHOT版本。 是否有一种方法可以将快照依赖项更新到最新发布的版本,然后
MVNRepository通常为每个依赖项列出“版本”和“更新”。 如果我发布自己的包,如何指定“更新”版本 Maven在解决传递依赖时使用了哪个依赖项?所以如果我的包依赖于包A,它依赖于包B,版本=1.0,更新=1.1。我会得到哪个版本的B?
告诉Gradle以下内容的最简单方法是什么: 检索“junit”依赖项并获取其最新版本。 管理Maven和Ivy仓库对我来说有点新鲜。我尝试了以下步骤,它们导致错误: > 编写,并按以下方式设置存储库: 尝试使用Spring Source Ivy仓库: 也许我误解了什么。为什么获取最新版本的依赖项会如此困难?