我几个星期前开始了一个新的CLI项目,它在v0.24.0
& v1.0.8
中的框架。
由于他们本周发布了一些更新(CLI v0.26.0
,Framework v1.1.0
,...),我想知道如何正确更新核心组件。
我的aurelia
:
package.json
个依赖项
{
// ...
"dependencies": {
"aurelia-animator-css": "^1.0.0",
"aurelia-api": "^3.1.1",
"aurelia-authentication": "^3.2.0",
"aurelia-bootstrapper": "^1.0.0",
"aurelia-fetch-client": "^1.1.0",
// ...
},
"devDependencies": {
"aurelia-cli": "^0.24.0",
"aurelia-testing": "^1.0.0-beta.2.0.0",
"aurelia-tools": "^0.2.2",
// ...
},
// ...
}
与NPM上的最新版本相比,这些软件包中的以下软件已过时:
0.24.0
,最新0.26.0
1.0.0
,最新1.0.1
1.0.0
,最新2.1.0
1.1.0
,最新1.1.1
^1.0.0-beta.2.0.0
,最新^1.0.0-beta.3.0.0
0.2.2
,最新1.0.0
由于所有这些软件包都使用caret version range,因此大多数软件包在运行npm update
时都不会自动更新到最新版本。
答案 0 :(得分:6)
CLI的文档说明要添加一个NPM脚本,您可以运行该脚本以更新所有版本到最新版本:
这意味着在package.json脚本部分添加类似这样的内容:
"au-update": "npm i aurelia-binding@latest aurelia-bootstrapper@latest aurelia-dependency-injection@latest aurelia-event-aggregator@latest aurelia-framework@latest aurelia-history@latest aurelia-history-browser@latest aurelia-loader@latest aurelia-loader-default@latest aurelia-logging@latest aurelia-logging-console@latest aurelia-metadata@latest aurelia-pal@latest aurelia-pal-browser@latest aurelia-path@latest aurelia-polyfills@latest aurelia-route-recognizer@latest aurelia-router@latest aurelia-task-queue@latest aurelia-templating@latest aurelia-templating-binding@latest aurelia-templating-resources@latest aurelia-templating-router@latest aurelia-testing@latest aurelia-dialog@latest -S",
第一次升级时会将package.json中的引用添加到它们中,因此依赖项部分会更大/添加所有缺少的嵌套依赖项。
另一种方法是使用NPM包对所有包npm check updates以及非Aurelia包执行这些检查。
允许您这样做:
ncu
检查哪些包已过时,
ncu -u
将它们全部升级到忽略semver限制的最新版本。