Skip to content

Angular CLI エラー「This command is not available when running the Angular CLI outside a workspace」の解決方法

問題の概要

Angular CLIを使用して ng serve --open コマンドを実行しようとした際に、「This command is not available when running the Angular CLI outside a workspace」というエラーが発生することがあります。このエラーは、Angular CLIが正しいワークスペース(プロジェクトディレクトリ)内で実行されていない場合に発生します。

主な原因

このエラーが発生する主な原因は以下の通りです:

  1. プロジェクトルートディレクトリ外でのコマンド実行
  2. angular.jsonファイルの欠落または破損
  3. ルートディレクトリ内にある他のプロジェクトの設定ファイルの干渉
  4. Angular CLIのバージョン問題

解決方法

1. プロジェクトルートディレクトリへの移動

最も一般的な解決策は、ターミナルでプロジェクトのルートディレクトリに移動することです。

bash
# プロジェクトディレクトリに移動
cd your-project-name

# Angular開発サーバーを起動
ng serve --open

確認方法

ルートディレクトリにいることを確認するには、以下のコマンドでangular.jsonファイルが存在するか確認してください:

bash
ls -la | grep angular.json
# またはWindowsの場合
dir | findstr angular.json

2. angular.jsonファイルの確認と修復

angular.jsonファイルが存在しないか、破損している場合にこのエラーが発生することがあります。

json
// 正常なangular.jsonファイルの例(一部抜粋)
{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "your-project-name": {
      "projectType": "application",
      // ... その他の設定
    }
  }
}

重要

angular.jsonファイルが存在しない場合は、新しいAngularプロジェクトから該当ファイルをコピーするか、プロジェクトを再作成する必要がある場合があります。

3. 他のプロジェクト設定ファイルの干渉回避

ユーザーホームディレクトリなど、意図しない場所にangular.jsonファイルが存在している場合、Angular CLIが混乱することがあります。

bash
# ホームディレクトリなど、プロジェクト外にangular.jsonファイルがないか確認
cd ~
ls -la | grep angular.json

# 不要なangular.jsonファイルが見つかった場合、必要に応じて削除または移動

4. Visual Studio Codeでの正しい操作方法

Visual Studio Codeを使用している場合、正しい方法でターミナルを開くことで問題を解決できます。

  1. エクスプローラーでプロジェクトフォルダを右クリック
  2. 「統合ターミナルで開く」を選択
  3. 開いたターミナルで ng serve --open を実行

5. Angular CLIの再インストール

場合によっては、プロジェクトローカルのAngular CLIに問題がある可能性があります。

bash
# プロジェクトルートで実行
npm install --save-dev @angular/cli@latest
npm install

トラブルシューティングフローチャート

よくあるシナリオと解決策

プロジェクトを解凍した後のエラー

ダウンロードしたZIPファイルを解凍した場合、プロジェクトがサブディレクトリ内にあることがあります。実際のプロジェクトルートまで移動してください。

Nx Consoleを使用した後のエラー

Nx Consoleのセットアップ中にangular.jsonファイルが削除されることがあります。gitを使用してファイルを復元してください:

bash
git checkout -- angular.json
JHipsterを使用した後のエラー

JHipsterをユーザーホームディレクトリで実行した場合、そこにangular.jsonが作成され、他のプロジェクトで干渉することがあります。不要な設定ファイルを削除してください。

まとめ

「This command is not available when running the Angular CLI outside a workspace」エラーは、主に次のいずれかによって解決できます:

  1. 正しいディレクトリでコマンドを実行する
  2. angular.jsonファイルの存在と完全性を確認する
  3. 他の場所にある不要な設定ファイルを削除する

これらの手順に従うことで、ほとんどの場合で問題が解決し、Angularの開発サーバーを正常に起動できるようになります。