解決策1: angular.json ファイルを確認する
Angular、NPM、Angular 8 に関する "Job name "..getProjectMetadata" does not exist" エラーについて
"Job name "..getProjectMetadata" does not exist" というエラーは、Angular 8 プロジェクトで ng build
または ng serve
コマンドを実行しようとした際に発生する可能性があります。このエラーは、プロジェクト設定ファイル (angular.json) に問題があることを示しています。
原因:
このエラーにはいくつかの原因が考えられます。
- angular.json ファイルに誤りがある:
projects
セクション内のプロジェクト名に誤りがある可能性があります。architect
セクション内のbuild
またはserve
ターゲットに誤りがある可能性があります。options
セクション内のoutputPath
プロパティに誤りがある可能性があります。
- NPM パッケージが不足している:
- Node.js のバージョンが古い:
解決策:
以下の方法で問題を解決できる可能性があります。
- angular.json ファイルを確認する:
- プロジェクト名、ターゲット、出力パスが正しいことを確認してください。
- エラーメッセージで示されている具体的なファイル名と行番号を確認し、該当箇所を確認してください。
- NPM パッケージをインストールする:
- Node.js のバージョンを確認する:
- 以下のコマンドを実行して、Node.js のバージョンを確認してください。
node -v
- Node.js のバージョンが 10.x 以下である場合は、最新バージョンにアップグレードしてください。
- 以下のコマンドを実行して、Node.js のバージョンを確認してください。
補足:
- このエラーは、Angular 9 またはそれ以降のバージョンのプロジェクトでも発生する可能性があります。
- このエラーメッセージは、TypeScript コンパイラによって生成されるエラーメッセージである場合もあります。
このサンプルコードは、Angular 8 プロジェクトで "Job name "..getProjectMetadata" does not exist" エラーが発生した場合の解決例を示します。このエラーは、ng build
または ng serve
コマンドを実行しようとすると発生する可能性があります。
以下のコードは、angular.json
ファイルの例です。このファイルには、プロジェクト設定が記述されています。
{
"version": "1.0",
"defaultProject": "my-app",
"projects": {
"my-app": {
"architect": {
"build": {
"options": {
"outputPath": "dist/my-app"
}
},
"serve": {
"options": {
"port": 4200
}
}
}
}
}
}
このコードでは、プロジェクト名は my-app
であり、出力パスは dist/my-app
に設定されています。また、サーバポートは 4200
に設定されています。
エラー解決手順
以下の手順で、エラーを解決することができます。
Angular 8 プロジェクトにおける "Job name "..getProjectMetadata" does not exist" エラーの解決方法:その他
キャッシュをクリアする:
- 以下のコマンドを実行して、Angular CLI のキャッシュをクリアしてください。
ng cache clean
プロジェクトを再作成する:
- 以下のコマンドを実行して、現在のプロジェクトディレクトリを削除してください。
rm -rf <project-directory>
- 以下のコマンドを実行して、新しい Angular プロジェクトを作成してください。
ng new <project-name>
互換性のないパッケージを更新する:
- 以下のコマンドを実行して、インストールされている NPM パッケージの一覧を取得してください。
npm ls
- 上記のコマンドで出力されたパッケージの中から、Angular 8 と互換性がない可能性のあるパッケージを特定します。
- 特定したパッケージを、互換性のあるバージョンに更新します。
問題のあるパッケージをアンインストール/再インストールする:
- 以下のコマンドを実行して、問題があると思われるパッケージをアンインストールしてください。
npm uninstall <package-name>
ワークスペースファイルを編集する:
- 以下のコマンドを実行して、ワークスペースファイル (
workspace.json
) を編集します。code workspace.json
- ワークスペースファイル内の
projects
セクションを確認し、プロジェクト名、ターゲット、出力パスなどの設定が正しいことを確認してください。
TypeScript コンパイラのオプションを変更する:
- 以下のコマンドを実行して、TypeScript コンパイラのオプションファイル (
tsconfig.json
) を編集します。code tsconfig.json
tsconfig.json
ファイル内のcompilerOptions
セクションを確認し、target
オプションがes5
またはes6
に設定されていることを確認してください。
問題のあるカスタムコードを修正する:
- プロジェクト内のカスタムコードを確認し、問題があると思われる箇所を修正してください。
- 特に、
getProjectMetadata
関数を使用している箇所を注意深く確認してください。
angular npm angular8