【问题标题】:How to upgrade minor version of angular using angular cli如何使用 Angular cli 升级 Angular 的次要版本
【发布时间】:2017-12-23 12:24:52
【问题描述】:

这是一个简单的问题,但我很难通过 Google 找到答案...

我有一个 Angular 4 项目(使用 Angular cli 创建)并希望使用刚刚在 4.3 中发布的 http 拦截器。

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

【问题讨论】:

    标签: javascript node.js angular npm angular-cli


    【解决方案1】:

    在某些情况下,ng update 不会通过次要版本更新来更新 Angular 核心依赖项。

    我遇到了一个尝试从 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 命令的结果。

    【讨论】:

      【解决方案2】:

      主要版本角度更新应使用ng update

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

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

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

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

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

      之后你可以运行npm install

      【讨论】:

      • 这个对于小更新非常方便,谢谢!
      【解决方案3】:

      在我的 Angular CLI 项目中,我使用 npm update 来更新我的依赖项。使用npm outdated,您可以查看所有过时的依赖项。


      2018 年 6 月更新

      如果您使用的是 Angular CLI 版本 6+,则可以使用新的 ng update <packagename> 命令更新您的依赖项。

      ⚠️ 这将更新到最新的 主要 版本。如果你不想坚持npm update。 ⚠️

      https://angular.io/guide/updating

      对于简单的更新,您只需要 CLI 命令ng update。在没有其他参数的情况下,ng update 列出了可供您使用的更新,并提供了将您的应用程序更新到最新版本的推荐步骤。

      【讨论】:

      • 啊,是的。 npm outdated 也很有用!
      • 它没有更新 package.json,有什么想法吗?
      • 如果升级到 npm 5,就不必再键入 --save 了;它成为默认值。让生活更轻松。 :) 见blog.npmjs.org/post/161081169345/v500
      • ng update 命令应该只更新次要版本吗?它为我升级了主要版本(从 7.2.0 到 8.0.0)。
      • @TrevorKarjanis 是的,这也将更新主要版本(并执行更新所需的大多数代码更改)。我已经编辑了帖子以反映这一点。如果您想坚持相同的主要版本,请使用npm update 并确保您的package.json 中有相应的版本范围:请参阅docs.npmjs.com/misc/semver#caret-ranges-123-025-004
      猜你喜欢
      • 1970-01-01
      • 2020-04-25
      • 2017-10-11
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      相关资源
      最近更新 更多