Angular 6迁移-.angular-cli.json到angular.json


81

我已经将项目升级到Angular 6,除了转换为 .angular-cli.json文件。在我遵循的指南中,据说它将自动进行转换。

npm install -g @ angular / cli

npm安装@ angular / cli

ng update @ angular / cli

但是,情况并非如此,因为我还有旧的 .angular-cli.json

有没有办法自动/手动?


您需要手动重命名
Pardeep Jain

3
您是否遵循本指南
E. Sundin '18年

不要重命名文件。当您按照指南进行操作时,它将被删除并重新创建。如果重命名,请按照指南进行操作。
克里尔

Answers:


115

这些命令之一很可能有错误。对我来说,我必须先运行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完成该过程。

有关其他详细信息,请参见《官方更新指南》


2
npm install @ angular / cli ng update出现错误,我不得不重新运行它,然后才起作用:)
Dino

@WilliamHampshire:我遵循相同的过程,但是当我运行命令npm install @ angular / cli时,出现以下错误。npm WARN @ angular-devkit / schematics @ 0.0.52需要一个对等体@ angular-devkit / core @ 0.0.29,但没有安装。您必须自己安装对等依赖项。npm WARN @ schematics / angular @ 0.1.17需要一个对等体@ angular-devkit / core @ 0.0.29,但没有安装。您必须自己安装对等项依赖项。npm WARN ajv-keywords@3.2.0需要ajv@^6.0.0的对等项,但未安装任何对等项。您必须自己安装对等依赖项。
Abhilash Reddy

2
我所缺少的是@angular-devkit/core软件包,安装成功就可以了。
ColinM '18年

63

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

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

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

阅读更多:angular / cli-github


嘿,我尝试了多种选择,但是您的解决方案有效。我的angular-cli.json转换为angular.json。但是,当我启动应用程序时遇到另一个错误:ng serve错误:src / app / workflows / workflow-list / workflow-list.component.ts(441,4)中的错误:TS1128错误:声明或声明错误。
阿比拉什·雷迪

终于这对我有用了!我已经尝试了许多解决方案,包括此处的所有其他解决方案以及官方的角度更新指南,但是每当我运行ng update @angular/cli它时,就永远不会将angular-cli.json更新为angular.json。终于成功了!非常感谢!
罗汉

41

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

更新:

如果出现这样的错误:

错误:指定的命令更新无效,有关可用选项,请参见ng-help。

然后您需要运行2条命令,如下所示

  1. npm install --save-dev @ angular / cli @ latest。
  2. ng update @ angular / cli

这将自动创建angular.json,删除.angular-cli.json并更新karma.conf.js,src / tsconfig.spec.json,package.json和tslint.json

在此处输入图片说明


21

我正在尝试从5.2-> 6.1更新,并且遇到了一个问题,在运行npm install @angular/cli@6后跟ng update @angular/cli@6,(如https://update.angular.io/#5.2:6.1所述),我package.json正在更新,但其他都没有像.angular-cli.json或的文件tsconfig.json是,即使我没有收到任何错误。我尝试多次执行更新命令,但这没有效果。

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

npm install @angular/cli@6
ng update @angular/cli
ng update @angular/core@6

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


3

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

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

    注意:如果在执行 ng update @ angular / core命令后出现无效范围问题,那么请按照以下说明操作,只需替换package.json中的主要版本,它将自动替换次要版本。资源: 想要将项目从Angular v5升级到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 install之后,如果遇到缺少src / styles路径的错误,请从[“ src / styles”,“ src / fonts”,“ src / images”,“ src /assets”、“src/favicon.ico”]到[“ assets”,“ favicon.ico”]。

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

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

**随时询问是否有其他疑问。


1

请按照以下步骤操作:

1)在全球和本地更新您的Angular CLI(假定最新版本为7)

2)接受旧项目并运行以下命令

  • npm安装@ angular / cli
  • ng update @ angular / cli

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

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

npm install @ angular-devkit / core-保存-dev

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

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

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

7)运行npm install

8)传球

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

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


如果您在运行ng serve时遇到错误,请检查错误是否最有可能是angular.json中的条目,并进行相应更新。对于前-项目名称,文件路径等
Sourabh Ranka

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

0

如屏幕截图所示,在运行命令更新cli之前,我实际上必须提交所有更改或将其隐藏起来。

我做了这些命令:

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

ng update@angular/cli

并提交这两者之间的更改。 伍兹

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.