Skip to content

Angularデフォルトプロジェクトエラーの解決

エラー発生の概要

ng serveコマンドの実行時に次のエラーが発生する場合があります:

bash
Workspace extension with invalid name (defaultProject) found.

このエラーはAngularワークスペースの設定ファイルangular.json非推奨プロパティが原因で発生します。問題が発生しているangular.jsonの内容を分析すると、次のような構造になっています:

json
{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  // このプロパティが問題の原因
  "defaultProject": "my-app",
  "projects": {
    "my-app": {
      ...
    }
  }
}

根本原因

defaultProjectプロパティはAngular CLIの古い機能で、現在では正式に非推奨となっています。バージョンが進化する中で、このプロパティはAngular CLIの内部処理と衝突するようになりました。

公式GitHub Issueでの確認(angular/angular-cli#11111)によると:

  • defaultProjectはAngular CLIのワークスペース仕様から削除された
  • 残っていると解析エラーを引き起こす
  • 完全な削除が推奨されている

解決手順(3分で完了)

設定ファイルの修正

  1. angular.jsonファイルをエディタで開きます
  2. defaultProjectプロパティを完全に削除
  3. ファイルを保存

修正例

修正前:

json
{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "defaultProject": "my-app", // 削除対象
  "projects": { ... }
}

修正後:

json
{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  // defaultProjectは完全に削除
  "projects": { ... }
}

依存関係の最適化

追加アクション

プロジェクトが長期間更新されていなかった場合、関連コマンドを実行することを推奨します:

bash
npm update
npm audit fix

動作検証

修正後に次のコマンドで正常に起動するか確認します:

bash
ng serve

注意点

ng updateを使用する場合は、設定ファイルの自動変換を期待せず、手動でdefaultProjectを削除してください

理論的背景

非推奨化の理由

  1. マルチプロジェクトワークスペースの柔軟な管理が可能に
  2. Angular CLIの内部アーキテクチャ変更に伴う互換性問題
  3. 設定ファイルの簡素化によるメンテナンス性向上

新しいAngularワークスペース作成時には、初めからdefaultProjectプロパティは含まれていません。プロジェクトをアップグレードした際に発生する「過去の遺物」と言えます。

代替ケース検討

稀にdefaultProject以外の非推奨プロパティがエラー原因になることがあります。エラー解消しない場合の確認ポイント:

json
{
  ...
  // 全ての非推奨プロパティを確認
  "oldProperty1": ...,
  "deprecatedSetting": ...
}

エラーメッセージに表示されている名前(例:invalidProperty)をファイル内で検索し、該当プロパティを同様に削除してください。

最終確認ポイント

  1. angular.jsonの最上位にdefaultProjectが存在しないか
  2. プロジェクト生成時のデフォルト名(my-appなど)が個別プロジェクト設定と一致しているか
  3. Angular CLIバージョンがv15以降であるか(最新版で確認)

エラー解消後はAngularワークスペースが正常に動作するようになります。プロジェクト移行時には常に設定ファイルの最新仕様を確認することをお勧めします。