Angular 6 Migration -.angular-cli.json to angular.json

时间:2018-05-08 11:48:46

标签: angular

我已将项目升级到Angular 6,除了转换.angular-cli.json文件外,一切都很顺利。从我跟随的指南,据说这将自动转换它。

  

npm install -g @ angular / cli

     

npm install @ angular / cli

     

ng update @ angular / cli

然而,事实并非如此,因为我仍然有旧.angular-cli.json

有没有办法自动/手动完成?

8 个答案:

答案 0 :(得分:95)

其中一个命令很可能存在错误。对我来说,我必须首先运行npm install -g @angular-devkit/core,然后运行命令:

npm install -g @angular/cli

npm install @angular/cli

npm install @angular/cli的控制台输出中,您应该看到:

================================================================================
The Angular CLI configuration format has been changed, and your existing configuration can
be updated automatically by running the following command:

  ng update @angular/cli
================================================================================

然后你显然应该运行ng update @angular/cli来完成这个过程。

有关其他详细信息,请参阅Official Update Guide

答案 1 :(得分:38)

如果您使用的是v6.x.x或更高版本的angular cli命令行工具,则可以使用以下命令自动将现有angular-cli.json文件更新为angular.json文件。

ng update @angular/cli --from=1.7.4 --migrate-only

在上面的命令1.7.4中,您使用的是以前的cli版本。 --migrate-only标志确保它只执行迁移但不更新已安装的版本。

了解详情:angular/cli-github

答案 2 :(得分:33)

尝试两次运行“ ng update @ angular / cli ” 它会将angular-cli.json更新为angular.json

答案 3 :(得分:3)

要将版本从5.2升级到6.0,我遵循了以下步骤。

  • 安装节点8或更高版本。
  • 全局添加@ angular / cli。
  • 添加纱线@ angular / cli。
  • ng更新@ angular / cli。
  • ng更新@ angular / core。

    注意:如果在执行 ng update @ angular / core 命令后出现无效范围问题,请按照以下说明操作,只需替换主要版本在package.json中,它将自动替换次要版本。 资源: Want to upgrade project from Angular v5 to Angular v6

      - npm uninstall -g angular-cli
      - npm cache clean or npm cache verify
      - npm install -g @angular/cli@next
      - then, replace lower versions to higher versions in package.json 
        file.
      - delete node modules folder.
      - run npm/yarn install.
    

npm安装之后,如果遇到缺少src / styles路径的错误,请从[“ src / styles”,“ src / fonts”中删除资源块下angular.json文件中给出的路径。 “,” src / images“,” src / assets“,” src / favicon.ico“]到[” assets“,” favicon.ico“]。

  • yarn全局添加rxjs-tslint(可能需要)。
  • rxjs-5-to-6-migrate -p src / tsconfig.app.json(可能需要)。
  • 纱线安装@ angular / material @ 6.0.0(以更新材料包)。

=> 请注意,您无需手动将 angular.cli.json 重命名为 angular.json

**随时询问是否有进一步的查询。

答案 4 :(得分:1)

我正尝试从5.2-> 6.1更新,遇到一个问题,在运行npm install @angular/cli@6后接着运行ng update @angular/cli@6(如https://update.angular.io/#5.2:6.1所述)后,我的{{1} }正在更新,但是没有其他文件,例如package.json.angular-cli.json,尽管我没有收到任何错误消息。我尝试多次执行更新命令,但这没有效果。 git

我最终运行了对我有用的以下3个命令:

tsconfig.json

唯一真正的变化是第二条命令。该文档说要运行npm install @angular/cli@6 ng update @angular/cli ng update @angular/core@6 ,但不会更新任何配置文件。

答案 5 :(得分:0)

请按照以下步骤操作:

1)全局和本地更新您的Angular CLI(假设最新版本为7)

2)使用旧项目并运行以下命令

  • npm install @ angular / cli
  • ng更新@ angular / cli

运行此命令后,您已将所有角度包更新为最新版本。

3)添加此软件包,因为它仍然丢失

npm install @ angular-devkit / core --save -dev

4)使用ng serve(最新版本)创建一个全新的项目

5)创建一个名为angular.json的新空文件,并将angular.json的内容从新项目复制到其中。

6)在angular.json中相应地更新项目名称

7)运行npm install

8)传球

9)现在您已经准备好使用最新版本的angular。

我按照上述步骤从angular2迁移到angular7。

答案 6 :(得分:0)

在这种情况下:
找不到本地工作空间文件('angular.json')。

serve命令需要在Angular项目中运行,但是找不到项目定义。

升级/降级到所需的版本(例如,我尝试使用Angular 6)

[sudo] npm install -g -f @angular/cli@6.1.4

更新本地项目

ng update @angular/cli@6.1.4

您很高兴:)

ng serve

答案 7 :(得分:0)

我必须执行所有更改或隐藏它们,然后才能运行该命令以更新cli,如此屏幕截图所示。

我执行了以下命令:

npm install --save-dev @angular/cli@latest 

ng update@angular/cli

并提交这两个之间的更改。 Ng serve