Angular 6がここにあるので、私のAngular 5クライアントアプリケーションをAngular 6にアップグレードまたは移動したいのですが、チュートリアルやその他の情報が得られません。
私によれば、私は新しいAngular CLIを実行してから、古いソースを新しいプロジェクトに移動する必要があります。 Angular 6は、Ivyという新しいレンダラーを使用しています。 Ivyに従ってプロジェクトを変更する必要がありますか?
バージョン7 of Angularがリリースされました 公式Angularブログリンク 。詳細については、公式の角度更新ガイド https://update.angular.io をご覧ください。これらの手順は、Angular Materialを使用した基本的なAngular 6アプリケーションに有効です。
ng update @angular/cli
ng update @angular/core
ng update @angular/material
バージョン6 of Angularがリリースされました 公式Angularブログリンク 。以下で一般的なアップグレードの手順を説明しましたが、アップデートの前後にv6で機能するようにコードを変更する必要があります。詳細については、公式Webサイト https://update.angular.io を参照してください。
アップグレード手順(主に 公式Angular更新ガイド /を使用してAngular素材を使用した基本的なAngularアプリ):
更新しない場合は、NodeJSのバージョンが8.9以降であることを確認してください。
グローバルにローカルにAngularcliを更新し、次のコマンドを実行して古い設定 .angular-cli.json を新しい angular.json の形式に移行します。
npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli
次のコマンドを実行して、Angularフレームワークパッケージをすべてv6に、正しいバージョンのRxJSとTypeScriptを更新します。
ng update @angular/core
次のコマンドを実行して、Angular Materialを最新バージョンに更新します。
ng update @angular/material
RxJS v6はv5から大きく変更されています。v6は後方互換性パッケージrxjs-compatを持っています。これはあなたのアプリケーションを動かし続けるでしょうが、TypeScriptコードをrxjs-compatに依存しないようにリファクタリングすべきです。 TypeScriptコードをリファクタリングするには、次のコマンドを実行します。
npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json
注:すべての依存関係がRxJS 6に更新されたら、バンドルサイズが大きくなるため、rxjs-compatを削除してください。詳しくは RxJSアップグレードガイド をご覧ください。
npm uninstall rxjs-compat
確認するにはng serve
を実行してください。
ビルドでエラーが発生した場合の詳細は https://update.angular.io を参照してください。
Rxjsを6.0.0-beta.0にアップグレードしてください。詳しくは RxJSアップグレードガイド をご覧ください。 RxJS v6には大きな変更があるため、最初に最新のRxJSバージョンと互換性のあるコードにしてください。
NodeJSのバージョンを8.9以降に更新します(これはangle cli 6バージョンに必要です)。
Angularcliグローバルパッケージを次のバージョンに更新します。
npm uninstall -g @angular/cli
npm cache verify
npmバージョンが5未満の場合はnpm cache clean
を使用
npm install -g @angular/cli@next
Package.jsonファイルのAngularパッケージのバージョンを^6.0.0-rc.5
に変更
"dependencies": {
"@angular/animations": "^6.0.0-rc.5",
"@angular/cdk": "^6.0.0-rc.12",
"@angular/common": "^6.0.0-rc.5",
"@angular/compiler": "^6.0.0-rc.5",
"@angular/core": "^6.0.0-rc.5",
"@angular/forms": "^6.0.0-rc.5",
"@angular/http": "^6.0.0-rc.5",
"@angular/material": "^6.0.0-rc.12",
"@angular/platform-browser": "^6.0.0-rc.5",
"@angular/platform-browser-dynamic": "^6.0.0-rc.5",
"@angular/router": "^6.0.0-rc.5",
"core-js": "^2.5.5",
"karma-jasmine": "^1.1.1",
"rxjs": "^6.0.0-uncanny-rc.7",
"rxjs-compat": "^6.0.0-uncanny-rc.7",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.5.0",
"@angular/cli": "^6.0.0-rc.5",
"@angular/compiler-cli": "^6.0.0-rc.5",
"@types/jasmine": "2.5.38",
"@types/node": "~8.9.4",
"codelyzer": "~4.1.0",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "~3.2.0",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.0.0",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^0.2.0",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"postcss-loader": "^2.1.4",
"protractor": "~5.1.0",
"ts-node": "~5.0.0",
"tslint": "~5.9.1",
"TypeScript": "^2.7.2"
}
次にAngularcliローカルパッケージを次のバージョンに更新し、上記のパッケージをインストールします。
rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows
Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@next
npm install
Angular CLI設定フォーマットは、Angular Cli 6.0.0-rc.2バージョンから変更されています。既存の設定は、次のコマンドを実行することで自動的に更新できます。これは古い設定ファイル .angular-cli.json を削除し、新しい angular.json fileと書きます。
ng update @angular/cli --migrate-only --from=1.7.4
注: - 「AngularコンパイラにはTypeScript> = 2.7.2および<2.8.0が必要ですが、2.8.3が代わりに見つかりました」というエラーが発生した場合。次のコマンドを実行してください。
npm install [email protected]
Angular 6がリリースされました。
https://blog.angular.io/version-6-of-angular-now-available-cc56b0efa7a4
これが私の小さなプロジェクトの1つでうまくいったことです
Package.jsonで実行スクリプトを更新する必要があるかもしれません。あなたが "app"や "environment"のようなフラグを使っているならば、これらはそれぞれ "project"と "configuration"に更新されました。
より詳しいガイドは https://update.angular.io/ を参照してください。
Angular 5からAngular 6への段階的なアップグレードの詳細を確認します。これらは、アップグレード中に発生する問題とその解決方法についての詳細を提供します。
{
"rulesDirectory": [
"node_modules/rxjs-tslint"
],
"rules": {
"rxjs-collapse-imports": true,
"rxjs-pipeable-operators-only": true,
"rxjs-no-static-observable-methods": true,
"rxjs-proper-imports": true
}
}
オペレータ名の変更:
do -> tap,
catch -> catchError,
switch -> switchAll,
finally -> finalize
すべての演算子がrxjs /に移動しました/演算子
import { map, filter, reduce } from 'rxjs/operators';
観測可能な作成方法はrxjsに移動されました
import { Observable, Subject, of, from } from 'rxjs';
すべて設定できました。ようこそAngular 6 :)アップグレード方法については、こちらのブログ投稿を確認してください
Angular-cli.jsonをangular.jsonに変更するには、 ng update @ angular/cli を再実行する必要がありました。
Angular 5からAngular 6に更新するには、以下のコメントを実行してください
NPMを使用する(ノードバージョン8以降があることを確認してください)
npm uninstall -g @angular/cli npm cache clean npm install -g @angular/cli@latest npm i @angular/cli --save
糸を使う
yarn remove @angular/cli yarn global add @angular/cli yarn add @angular/cli
ng update @angular/cli
ng update @angular/core
ng update @angular/material
ng update rxjs
通常、RxJSのインポートや演算子が使用されるたびにコードを更新する必要がありますが、ありがたいことに、重い作業の大部分を処理するパッケージがあります。
npm i -g rxjs-tslint
//or using yarn
yarn global add rxjs-tslint
その後、rxjs-5-to-6-migrateを実行します。
rxjs-5-to-6-migrate -p src/tsconfig.app.json
最後にrxjs-compatを削除します。
npm uninstall rxjs-compat
// or using Yarn
yarn remove rxjs-compat
このリンクを参照してください https://alligator.io/angular/angular-6/
だからあなたは手動であなたのpackage.json
ファイルを更新しなければならない。
それから走りなさい
npm update
npm install --save rxjs-compat
npm i -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json
Vinay Kumarが指摘したように、グローバルにインストールされたAngular CLIは更新されません。グローバルに更新するには、以下のコマンドを使用してください。
npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/cli@latest
既存のプロジェクトを更新したい場合は、既存のプロジェクトを変更する必要があります。プロジェクト内の package.json を変更する必要があります。
Angular自体に重大な変更はありませんが、それらはRxJSにあります。そのため、レガシーコードを扱うためにrxjs-compatライブラリを使用することを忘れないでください。
npm install --save rxjs-compat
インストール/アップデートAngular CLI /についての良い記事を書きました http://bmnteam.com/angular-cli-installation/
次のコマンドを実行してください。
ng update
注:これはグローバルには更新されません。
これが私がそれを機能させる方法です。
私の環境
Angular CLIグローバル:6.0.0、ローカル:1.7.4、Angular:5.2、TypeScript 2.5.3
注:
ng Update
を有効にするには、Angular CLI 6.0を最初にインストールする必要がありますnpm install -g @angular/cli or npm install @angular/cli
ng update //update Angular Package core/common/complier... to 6.0.0
ng update @angular/cli //change angular-cli.json to angular.json
角度材料5.4.2、ngx-translate 9.1.1、ng-bootstrap/ng-bootstrap 1.1.1がある場合はオプションです。
ng update @angular/material //upgrade to 6.0.1
npm install @ngx-translate/[email protected] --save //upgrade ngX translate to 10.0.1 for Angular 6
5 npm install --save @ng-bootstrap/[email protected] //for ng-bootstrap
Observableを使用していてエラーが発生した場合:
ERROR in node_modules/rxjs/Observable.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/Observable'. node_modules/rxjs/observable/of.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/observable/of'.
変更します。import { Observable } from "rxjs/Observable"; import { of } from 'rxjs/observable/of';
に
import { Observable, of } from "rxjs";
Angular CLIの問題: https://github.com/angular/angular-cli/issues/10621
2/4/5をAngular 6にアップグレードする手順はいくつかあります。
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install
"angular.json"に関連する問題を修正するには -
ng update @angular/cli --migrate-only --from=1.7.4
店舗の移行
https://github.com/ngrx/platform/blob/master/MIGRATION.md#ngrxstore
RXJSの移行
https://www.academind.com/learn/javascript/rxjs-6-what-changed/
これがあなたを助けることを願っています:)