如何正确更新库部件
How to properly update the library parts
几周前我开始了一个新的 CLI 项目,它在 v0.24.0
中安装了 CLI,在 v1.0.8
中安装了框架。
由于他们本周发布了一些更新(CLI v0.26.0
、框架 v1.1.0
、...),我想知道如何正确更新核心组件。
我的 package.json
中有以下 aurelia
依赖项:
{
// ...
"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 上的最新版本相比,以下软件包已过时:
- aurelia-cli
0.24.0
,最新 0.26.0
- aurelia-animator-css
1.0.0
,最新1.0.1
- aurelia-bootstrapper
1.0.0
,最新 2.1.0
- aurelia-fetch-client
1.1.0
,最新 1.1.1
- aurelia-testing
^1.0.0-beta.2.0.0
,最新 ^1.0.0-beta.3.0.0
- aurelia-tools
0.2.2
,最新 1.0.0
由于所有这些软件包都使用 caret version range,因此当 运行 npm update
.
时,大多数软件包不会自动更新到最新版本
这是我的问题
- 当我想将框架更新到最新状态时,是否必须手动更新
package.json
中提到的每个包的版本? (似乎很明显)
- 是否有一些简化的流程来找出我使用的每个框架包的最新版本号,或者我是否必须像我在写这个问题时那样手动 "crawl" 来自 npm.org 的版本?
- 我的
package.json
文件中的任何地方都没有提到 aurelia-framework
软件包,运行 npm update
也没有自动更新它。我该如何实际更新它?
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 限制。
几周前我开始了一个新的 CLI 项目,它在 v0.24.0
中安装了 CLI,在 v1.0.8
中安装了框架。
由于他们本周发布了一些更新(CLI v0.26.0
、框架 v1.1.0
、...),我想知道如何正确更新核心组件。
我的 package.json
中有以下 aurelia
依赖项:
{
// ...
"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 上的最新版本相比,以下软件包已过时:
- aurelia-cli
0.24.0
,最新0.26.0
- aurelia-animator-css
1.0.0
,最新1.0.1
- aurelia-bootstrapper
1.0.0
,最新2.1.0
- aurelia-fetch-client
1.1.0
,最新1.1.1
- aurelia-testing
^1.0.0-beta.2.0.0
,最新^1.0.0-beta.3.0.0
- aurelia-tools
0.2.2
,最新1.0.0
由于所有这些软件包都使用 caret version range,因此当 运行 npm update
.
这是我的问题
- 当我想将框架更新到最新状态时,是否必须手动更新
package.json
中提到的每个包的版本? (似乎很明显) - 是否有一些简化的流程来找出我使用的每个框架包的最新版本号,或者我是否必须像我在写这个问题时那样手动 "crawl" 来自 npm.org 的版本?
- 我的
package.json
文件中的任何地方都没有提到aurelia-framework
软件包,运行npm update
也没有自动更新它。我该如何实际更新它?
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 限制。