Angular6の移行-.angular-cli.jsonからangular.jsonへ


83

プロジェクトをAngular6にアップグレードしましたが、.angular-cli.jsonファイルの変換を除いてすべてうまくいきました。私が従ったガイドから、これはそれを自動的に変換すると言われました。

npm install -g @ angular / cli

npm install @ angular / cli

ng update @ angular / cli

しかし、私はまだ古いものを持っているので、そうではありませんでした .angular-cli.json

自動/手動で行う方法はありますか?


手動で名前を変更する必要があります
Pardeep Jain 2018

3
このガイドに従いましたか?
E. Sundin 2018年

ファイルの名前を変更しないでください。ガイドに従うと、削除されて再作成されます。名前を変更してからガイドに従うと、機能しません。
Kriil

以下の答えはうまくいきませんでした。私にとっては、両方--fromを指定--toしてトリックを行いました。確かに、私は移行プロセスで多くのパッケージを更新していましたが、多くのことがうまくいかなかった可能性があります。
effeffe

回答:


116

これらのコマンドの1つにエラーがあった可能性があります。私の場合、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警告@ angular-devkit / schematics @ 0.0.52には@ angular-devkit / core @ 0.0.29のピアが必要ですが、何もインストールされていません。ピアの依存関係を自分でインストールする必要があります。npm警告@schematics / angular @ 0.1.17には@ angular-devkit / core @ 0.0.29のピアが必要ですが、何もインストールされていません。ピアの依存関係を自分でインストールする必要があります。npm警告ajv-keywords@3.2.0にはajv @ ^ 6.0.0のピアが必要ですが、インストールされていません。ピアの依存関係を自分でインストールする必要があります。
Abhilash Reddy 2018

2
私が欠けていたのは@angular-devkit/coreパッケージで、それをインストールすることでうまくいきました。
ColinM 2018

67

v6.xx以降のangularcliコマンドラインツールを使用している場合は、以下のコマンドを使用して、既存の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に変換されます。しかし、アプリケーションを起動すると別のエラーが発生しました:ngserveエラー:src / app / Workflows / Workflow-list / Workflow-list.component.ts(441,4)のエラー:エラーTS1128:宣言またはステートメントが必要です。
AbhilashReddy18年

最後に、これは私のために働いたものです!私はここにある他のすべてのソリューションと公式の角度更新ガイドを含む非常に多くのソリューションを試しましたが、実行ng update @angular/cliするたびにangular-cli.jsonがangular.jsonに更新されることはありませんでした。最後に、それはうまくいきました!どうもありがとう!
ローハン

41

「ngupdate @ angular / cli」を2回実行してみると、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@6ng update @angular/cli@6に(https://update.angular.io/#5.2:6.1で説明されているように)package.json更新されたが、他のどれも更新されなかったという問題が発生しました。.angular-cli.jsonまたはのようなファイルtsconfig.jsonエラーが発生しなかったにもかかわらず、。updateコマンドを複数回実行してみましたが、効果がありませんでした。

私は私のために働いた次の3つのコマンドを実行することになりました:

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

唯一の実際の変更は、2番目のコマンドです。ドキュメントには実行するように記載されていますng update @angular/cli@6が、構成ファイルは更新されません。


3

バージョンを5.2から6.0にアップグレードするために、次の手順を実行しました。

  • ノード8以降をインストールします。
  • ヤーングローバルは@angular / cliを追加します。
  • 糸は@angular / cliを追加します。
  • ng update @ angular / cli。
  • ng update @ angular / core。

    注:ng update @ angular / coreコマンドを実行した後 、無効な範囲の問題が発生した場合は、以下に従ってください。package.jsonのメジャーバージョンを置き換えるだけで、マイナーが自動的に置き換えられます。リソース: プロジェクトをAngularv5からAngularv6にアップグレードしたい

      - 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パスが見つからないというエラーが発生した場合は、assetsブロックの下のangular.jsonファイルで指定されたパスを["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 install @ angular / cli
  • ng update @ angular / cli

これを実行した後、すべてのAngularパッケージを最新バージョンに更新しました。

3)まだ不足しているため、このパッケージを追加します

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

4)ngserve(最新バージョン)を使用して新しいプロジェクトを作成します

5)angular.jsonという名前の新しい空のファイルを作成し、angular.jsonのコンテンツを新しいプロジェクトからそのファイルにコピーします。

6)それに応じてangular.jsonでプロジェクトの名前を更新します

7)npminstallを実行します

8)ngserveを実行する

9)これでAngularの最新バージョンを使用する準備が整いました。

上記の手順に従って、angular2からangular7に移行しました。


ngserveの実行中にエラーが発生した場合は、エラーがangular.jsonのエントリである可能性が高いかどうかを確認し、それに応じて更新してください。たとえば、プロジェクト名、ファイルパスなど
Sourabh Ranka 2018

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

そして、これら2つの間の変更をコミットします。 Ngサーブ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.