Angular 6 Migration -.angular-cli.json sang angle.json


81

Tôi đã nâng cấp dự án của mình lên Angular 6 và mọi thứ đều ổn ngoại trừ việc chuyển đổi .angular-cli.jsontệp. Từ hướng dẫn tôi đã làm theo, người ta nói rằng điều này sẽ chuyển đổi nó tự động.

npm install -g @ angle / cli

npm install @ angle / cli

ng update @ angle / cli

Tuy nhiên, nó không phải là trường hợp như tôi vẫn có .angular-cli.json

Có cách nào để làm điều đó tự động / thủ công không?


Bạn cần đổi tên nó theo cách thủ công
Pardeep Jain

3
Bạn đã làm theo hướng dẫn này ?
E. Sundin

Không đổi tên tệp. Nó sẽ bị xóa và tạo lại khi bạn làm theo hướng dẫn. Nếu bạn đổi tên nó, sau đó làm theo hướng dẫn, nó sẽ không hoạt động.
Kriil

Câu trả lời:


115

Rất có thể đã xảy ra lỗi trong một trong những lệnh đó. Đối với tôi, tôi phải chạy npm install -g @angular-devkit/coretrước và sau đó chạy các lệnh:

npm install -g @angular/cli

npm install @angular/cli

Trong đầu ra bảng điều khiển của npm install @angular/clibạn, bạn sẽ thấy:

================================================================================
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
================================================================================

Sau đó, bạn rõ ràng nên chạy ng update @angular/cliđể kết thúc quá trình.

Xem Hướng dẫn cập nhật chính thức để biết thêm chi tiết.


2
Đã xảy ra lỗi với bản cập nhật npm install @ angle / cli ng, tôi phải chạy lại và nó hoạt động :)
Dino

@WilliamHampshire: Tôi đã làm theo quy trình tương tự, nhưng khi chạy lệnh npm install @ angle / cli, tôi gặp lỗi bên dưới. npm WARN @ angle-devkit / scheagram @ 0.0.52 yêu cầu một ứng dụng ngang hàng của @ angle-devkit / core @ 0.0.29 nhưng chưa cài đặt. Bạn phải tự cài đặt các phụ thuộc ngang hàng. npm WARN @ scheagram / angle @ 0.1.17 yêu cầu một ứng dụng ngang hàng là @ angle-devkit / core @ 0.0.29 nhưng chưa cài đặt. Bạn phải tự cài đặt các phụ thuộc ngang hàng. Npm CẢNH BÁO ajv-keywords@3.2.0 yêu cầu một ứng dụng ngang hàng ajv@^6.0.0 nhưng không có ứng dụng nào được cài đặt. Bạn phải tự cài đặt các phụ thuộc ngang hàng.
Abhilash Reddy

2
Những gì tôi đã thiếu là @angular-devkit/coregói, cài đặt đã thực hiện thủ thuật.
ColinM

63

bạn có thể tự động cập nhật angular-cli.jsontệp hiện có của mình thành angular.jsontệp bằng cách sử dụng lệnh dưới đây với điều kiện bạn đang sử dụng v6.xx hoặc cao hơn của công cụ dòng lệnh cli góc.

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

Trong lệnh trên 1.7.4là phiên bản cli trước đó bạn đang sử dụng. Các --migrate-onlylá cờ làm cho chắc chắn rằng nó sẽ chỉ thực hiện một di chuyển nhưng không cập nhật các phiên bản cài đặt.

đọc thêm: angle / cli-github


Này, tôi đã thử nhiều tùy chọn nhưng giải pháp của bạn vẫn hoạt động. Angle-cli.json của tôi được chuyển đổi thành angle.json. Nhưng tôi gặp một lỗi khác khi khởi động ứng dụng của mình: ng serve Lỗi: ERROR trong src / app / workflows / workflow-list / workflow-list.component.ts (441,4): error TS1128: Khai báo hoặc câu lệnh được mong đợi.
Abhilash Reddy

Cuối cùng đây là những gì làm việc cho tôi! Tôi đã thử rất nhiều giải pháp bao gồm tất cả các giải pháp khác ở đây cũng như hướng dẫn cập nhật góc chính thức, nhưng bất cứ khi nào tôi chạy ng update @angular/clinó không bao giờ cập nhật angle-cli.json thành angle.json. Cuối cùng, nó đã hoạt động! Cảm ơn rất nhiều!
Rohan

41

Thử chạy " ng update @ angle / cli " hai lần, nó sẽ cập nhật angle-cli.json thành angle.json

CẬP NHẬT:

nếu gặp lỗi như thế này:

LỖI: Cập nhật lệnh được chỉ định không hợp lệ, để biết các tùy chọn khả dụng, hãy xem ng-help.

thì bạn cần chạy 2 lệnh như sau

  1. npm install --save-dev @ angle / cli @ mới nhất.
  2. ng update @ angle / cli

thao tác này sẽ tự động tạo angle.json, xóa .angular-cli.json và cập nhật karma.conf.js, src / tsconfig.spec.json, package.json và tslint.json

nhập mô tả hình ảnh ở đây


21

Tôi đang cố cập nhật từ 5.2 -> 6.1 và gặp sự cố trong đó sau khi chạy, npm install @angular/cli@6tiếp theo là ng update @angular/cli@6(như được mô tả bởi https://update.angular.io/#5.2:6.1 ) của tôi package.jsonđã được cập nhật nhưng không có vấn đề nào khác các tệp giống như .angular-cli.jsonhoặc tsconfig.jsonđã được, mặc dù tôi không nhận được lỗi. Tôi đã thử thực hiện lệnh cập nhật nhiều lần nhưng điều này không có tác dụng.

Tôi đã chạy 3 lệnh sau phù hợp với tôi:

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

Sự thay đổi thực sự duy nhất ở đó là lệnh thứ hai. Tài liệu nói là chạy ng update @angular/cli@6nhưng điều đó sẽ không cập nhật bất kỳ tệp cấu hình nào.


3

Để nâng cấp phiên bản từ 5.2 lên 6.0, tôi đã làm theo các bước sau.

  • Cài đặt Node 8 trở lên.
  • sợi global add @ angle / cli.
  • sợi thêm @ angle / cli.
  • ng cập nhật @ angle / cli.
  • ng cập nhật @ angle / core.

    Lưu ý: nếu sau khi thực hiện lệnh ng update @ angle / core , vấn đề phạm vi không hợp lệ phát sinh, hãy làm theo bên dưới, chỉ cần thay thế phiên bản chính trong package.json, nó sẽ tự động thay thế phiên bản nhỏ. Tài nguyên: Muốn nâng cấp dự án từ Angular v5 lên 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.
    

Sau khi cài đặt npm , nếu bạn gặp lỗi thiếu đường dẫn src / styles, hãy xóa các đường dẫn được cung cấp trong tệp angle.json trong khối nội dung khỏi ["src / styles", "src / fonts", "src / images", "src / asset "," src / favicon.ico "] thành [" asset "," favicon.ico "].

  • sợi global add rxjs-tslint (có thể bắt buộc).
  • rxjs-5-to-6-migrate -p src / tsconfig.app.json (có thể bắt buộc).
  • sợi install @ angle / material @ 6.0.0 (để cập nhật gói nguyên liệu).

=> Xin lưu ý rằng bạn không bao giờ cần phải đổi tên angle.cli.json thành angle.json theo cách thủ công !!

** vui lòng hỏi nếu có thêm thắc mắc.


1

Vui lòng làm theo các bước sau:

1) Cập nhật Angular CLI của bạn trên toàn cầu và cục bộ (giả sử phiên bản mới nhất là 7)

2) Lấy dự án cũ của bạn và chạy lệnh sau

  • npm install @ angle / cli
  • ng update @ angle / cli

Sau khi chạy, bạn đã cập nhật tất cả các gói góc cạnh của mình lên phiên bản mới nhất.

3) Thêm gói này vì nó vẫn còn thiếu

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

4) tạo một dự án hoàn toàn mới với ng serve (phiên bản mới nhất)

5) Tạo một tệp trống mới với tên angle.json và sao chép nội dung của angle.json từ dự án mới vào đó.

6) Cập nhật tên của dự án tương ứng trong angle.json

7) Chạy cài đặt npm

8) Chạy giao bóng

9) Bây giờ bạn đã sẵn sàng với phiên bản mới nhất của angle.

Tôi đã làm theo các bước trên để chuyển từ angle2 sang angle7.


Trong trường hợp bạn gặp lỗi khi chạy ng phục vụ, hãy kiểm tra lỗi nếu đó có thể là phần lớn các mục nhập trong angle.json, cập nhật chúng cho phù hợp. Cho ex - tên dự án, filepaths, vv
Sourabh Ranka

0

TRONG TRƯỜNG HỢP:
Không thể tìm thấy tệp không gian làm việc cục bộ ('angle.json').
HOẶC
Lệnh phục vụ yêu cầu được chạy trong một dự án Angular, nhưng không thể tìm thấy định nghĩa dự án.

Nâng cấp / hạ cấp lên phiên bản mong muốn (tôi đã thử Angular 6 chẳng hạn)

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

Cập nhật dự án địa phương

ng update @angular/cli@6.1.4

Và bạn tốt để đi :)

ng serve

0

Tôi phải thực sự cam kết mọi thay đổi hoặc lưu trữ chúng trước khi có thể chạy lệnh cập nhật cli như được hiển thị trong ảnh chụp màn hình này.

Tôi đã thực hiện các lệnh sau:

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

ng update@angular/cli

Và cam kết những thay đổi giữa hai điều này. Ng phục vụ

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.