如何使用 Angular cli 升级 Angular 的次要版本

问题描述 投票:0回答:5

这是一个简单的问题,但我正在努力通过谷歌找到答案......

我有一个 Angular 4 项目(使用 Angular cli 创建),想利用 4.3 中刚刚发布的 http 拦截器。

如何使用 Angular cli 升级到此次要版本?

javascript node.js angular npm angular-cli
5个回答
63
投票

主要版本角度更新应通过 ng update 完成。

npm update
用于更新角度次要/补丁版本有一个缺点:它还会更新其他不相关的软件包。

您可以使用 npm-check-updates 仅更新特定的软件包,并且您可以选择针对补丁/次要/主要版本。

此命令将更新所有 Angular 包次要(和补丁)版本(但它将保留主要版本):

npx npm-check-updates --upgrade --target "minor" --filter "/@angular.*/"

该命令为您提供新版本的预览并相应地更新 package.json:

之后就可以运行

npm install


24
投票

在我的 Angular CLI 项目中,我使用

npm update
来更新我的依赖项。使用
npm outdated
,您可以看到所有过时的依赖项。


2018 年 6 月更新

如果您使用的是 Angular CLI 版本 6+,您可以使用新的

ng update <packagename>
命令来更新您的依赖项。

⚠️ 这将更新到最新的 major 版本。如果您不想这样做,请坚持使用

npm update
。 ⚠️

https://angular.io/guide/updating

对于简单的更新,CLI 命令

ng update
就足够了。如果没有其他参数,
ng update
会列出您可用的更新,并提供将您的应用程序更新到最新版本的建议步骤。


3
投票

对我来说,从 Angular 16.0.0 升级到 16.1.6 可以通过以下方式完成:

ng update @angular/cli@16 @angular/core@16


0
投票

我最近遇到了同样的问题(或者,我厌倦了每次角度更新时面对它),所以我做了一些谷歌搜索,发现了关于dependabot groups

我已经在使用 dependentabot 来管理我的依赖项,但一次更新一个 Angular PR 仍然很烦人,npm 检查对 npm 安装失败感到不满意,直到所有 Angular 依赖项都是最新的(这导致创建一个单独的分支,执行本文中实际投票最高的答案的 npm 命令(非常有用!)并合并该分支)。

我在更新 Microsoft.whatever 后的 .NET 版本控制时也遇到了问题。我最终进行了 10 多次提交,每次只更新应用程序中的一行。 IMO 正在“破坏”git 历史,因为在我自己的项目中,dependabot 看起来会是比我更好的贡献者:D

我更新了我的文件,如下所示以对依赖项更新进行分组:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "ClientApp/"
    schedule:
      interval: "monthly"
    open-pull-requests-limit: 10
    groups:
      angular:
        patterns:
          - "@angular*"
      fontawesome:
        patterns:
          - "@fortawesome*"

请参阅其他 dependabot 配置的文档


-1
投票

在某些情况下

ng update
不会通过次要版本更新来更新角度核心依赖项。

我遇到过尝试从 Angular 6.0.0 更新到 6.1.0 的案例,但没有成功。

我只解决了这个问题:

  1. 删除项目

    node_modules
    目录

  2. package.json
    所有角度核心依赖库中手动更改:

    common, compiler, compiler-cli, core, forms, http
    platform-browser, platform-browser-dynamic, router 
    

    就像这里的最后 4 行:

    "dependencies": {
        "@agm/core": "~1.0.0-beta.3",
        "@angular/animations": "^6.0.9",
        "@angular/cdk": "^6.4.0",
        "@angular/cli": "^6.2.9",
        "@angular/common": "^6.1.x",
        "@angular/core": "^6.1.x",
        "@angular/forms": "^6.1.x",
        "@angular/http": "^6.1.x",
    

    也请参阅

    devdependencies
    中的
    compiler, compiler-cli

  3. 运行

    npm install
    来重建
    node_modules

  4. 在此之后,我们得到了从 6.0.0 到 6.1.10 的

    ng --version
    cli 命令的结果。

© www.soinside.com 2019 - 2024. All rights reserved.