npm install -g を実行したら、ターミナルに EACCES と表示されて止まる。
最短の対処:sudoは使わず、まずNode.jsとnpmの実行パスを確認してください。全体インストール先に書き込み権限がないと分かったら、npm公式の案内に沿ってNode.jsのバージョン管理ツールを使う方法を優先し、必要な場合だけインストール先をユーザーディレクトリに変更します。
Node.js 24を入れた直後、初めて全体インストールで権限エラーが出た学生は、報告された場所から原因を探せます。
学校管理のMacやリモートMacで管理者権限がない場合は、無理に設定を変えないための停止条件を確認できます。
プロジェクトは動くのに、授業で使う全体コマンドだけ失敗するJavaScript学習者にも向けた内容です。
SECTION 01Node.js 24のnpm権限エラーは、どこで起きていますか?
まず、失敗した操作が「プロジェクトの中だけで使う道具」の導入か、「どのプロジェクトからも呼び出せる道具」の導入かを分けます。後者がnpmの全体インストールで、よく使われる指定は -g です。npmの説明でも、全体インストールとプロジェクトへのインストールは別の用途として扱われています。npmの全体インストールの説明
授業の手順が npm install で、特定のプロジェクトフォルダー内だけで失敗したなら、全体ディレクトリの権限を変更しても解決しない場合があります。エラー文に示されたパスと、実行したコマンドを先に控えてください。
プロジェクト依存関係のインストールが失敗した場合
プロジェクト用の依存関係は、そのプロジェクトのフォルダーで使う道具です。ターミナルで授業フォルダーに移動していたか、授業の説明どおりのコマンドだったかを確かめます。
作業フォルダー自体に書き込みできない場合は、学校の管理設定やフォルダーの所有者が関係している可能性があります。システムの権限変更へ進まず、エラーが示す場所を確認して、管理者に相談してください。
全体コマンドのインストールが失敗した場合
npm install -g のように全体インストールを指定した操作で EACCES が出るなら、npmが使おうとした全体インストール先に書き込めない可能性があります。npm公式は、この種のエラーに対する方法としてNode.jsのバージョン管理ツールの利用、またはユーザーディレクトリへのインストール先変更を案内しています。npm公式のEACCES対処ガイド
SECTION 02まず実行パスを調べて、Node.jsとnpmの組み合わせを確認
ターミナルで次を実行し、表示された結果をそのまま控えます。
node -p "process.execPath"
which -a node
which -a npm
npm config get prefix
npm root -g
ここで見るのは、Node.jsとnpmがどの場所から起動するか、全体インストール先がどこかです。複数の場所が表示されたり、想定していた場所と違ったりしても、すぐにファイルを消さないでください。以前のインストールが残っている場合や、ターミナルが別のインストール環境を参照している場合など、原因を区別する材料になります。
npmの全体パッケージの場所や設定値は、npmのフォルダーと設定の説明で確認できます。npmの全体フォルダーの仕組みとnpm設定の項目を参照し、表示された prefix をエラー文のパスと照らし合わせてください。Node.jsのバージョンごとの配布情報は、Node.js 24の公式ダウンロード記録で確認できます。
| 調べた結果 | 考えられる状況 | 次にすること |
|---|---|---|
エラーの場所が npm config get prefix の結果と合う |
全体インストール先への書き込みで止まっている可能性があります | バージョン管理ツール、またはユーザーディレクトリ方式を検討します |
| Node.jsとnpmの場所が想定と異なる、または複数表示される | 複数のインストール環境や古い設定が関係している可能性があります | 先に授業指定の環境と、ターミナルが参照する環境を確認します |
失敗したのがプロジェクト内の npm install |
全体インストールの問題ではない可能性があります | エラーに表示されたプロジェクト側の場所を確認します |
SECTION 03バージョン管理ツールを使うべきですか?
Node.jsのバージョン管理ツールは、授業やプロジェクトごとに使うNode.jsを切り替えやすくする方法です。npm公式は、全体インストール時の権限エラーを避ける選択肢として、この方法を推奨しています。ただし、授業がNode.js 24を指定しているなら、別のバージョンへ切り替える前に指定条件を確認してください。
Node.jsの公式リリース状況ページでは、Node.js 24はLTS、Node.js 26はCurrentとして掲載されています。授業の指定が24なら、単に新しい版があるという理由だけで切り替えず、公式のリリース状況とコースの指示を照らし合わせます。リリース区分は更新されるため、作業時点の表示を確認してください。
バージョン管理ツールをすでに使っている、または授業で指定された方法があるなら、同じ案内に従って管理対象をそろえます。反対に、学校管理のMacで導入が制限されている、授業環境の変更が禁止されている、Node.jsの出どころを判断できない場合は、ここで作業を止めて担当者に確認してください。
条件で選ぶ場合は次のとおりです。
- 授業でバージョン管理ツールを指定している、または複数のNode.js版を使い分ける必要がある場合は、その指定に沿って環境を整えます。
- Node.jsの現在の管理方法が不明な場合は、変更せずにコースの手順と実行パスを照合します。
- 学校の管理設定で導入やシェル設定が制限されている場合は、自分で回避せず管理者へ相談します。
- 管理方法は変えず、全体インストール先だけが書き込み不可だと確認できた場合は、ユーザーディレクトリ方式を検討します。
SECTION 04管理者権限がないMacでは、ユーザーディレクトリを使えますか?
npmの全体インストール先をユーザーが書き込める場所へ移す方法があります。npm公式の設定案内に沿って prefix の変更を検討し、必要な場合はその場所をシェルの PATH に追加します。PATH は、ターミナルがコマンドを探す場所を並べた「尋路リスト」のようなものです。設定の考え方はnpmのEACCESガイドとnpm設定の説明で確認してください。
ただし、設定ファイルの場所や読み込み方は、使っているシェルや学校の端末設定によって異なります。Macのターミナルがzshかどうか、VS Code内のターミナルが同じ環境を使っているかを確かめ、公式説明と端末の管理ルールに合う場合にだけ変更します。VS Codeのシェル設定は公式ターミナルプロファイル資料で確認できます。
学校管理端末で設定ファイルの編集が禁止されている、あるいは変更後に戻す方法が分からない場合は、ユーザーディレクトリへの切り替えも行わず、管理者に相談してください。権限エラーを回避するために管理制限をすり抜ける手順は案内しません。
sudo でインストールしてもよいですか?
おすすめしません。sudo を付けると、通常のユーザー操作とは異なる権限でファイルが作られ、あとから通常のnpm操作で所有者や書き込み権限の問題が起こることがあります。エラーの原因がパスの混在なら、強い権限で実行しても環境の混乱は解消しません。まず出力を控え、どの環境が実行されているかを判断してください。
SECTION 05修復後は、コマンドと授業プロジェクトを別々に確認
変更を行ったら、同じターミナルで実行パスを再確認します。npm config get prefix が意図した場所を示すか、which node と which npm が授業で使う環境を指しているかを見てください。ここがまだ不明なら、追加の権限変更を重ねずに止めます。
次に、授業で必要な全体コマンドがすでに導入されている場合は、command -v コマンド名 でターミナルが見つけられるかを確認します。インストールが成功した表示だけで判断せず、実際にコマンドを呼び出せることを確かめてください。
プロジェクトへの影響は、全体コマンドとは分けて確認します。授業フォルダーで package.json とロックファイルが意図せず変わっていないかを確認し、授業資料にある起動やテストの方法を実行します。権限修正だけを理由に依存関係を削除したり、プロジェクトを最初から作り直したりする必要はありません。
症状が残る場合は、次のように分けます。
- 同じパスで
EACCESが続く:全体インストール先の権限、設定値、管理制限を再確認します。sudoで押し切らず、パスの出どころが不明なら管理者に確認します。 - インストールは終わったのにコマンドが見つからない:ユーザーディレクトリが
PATHに含まれているか、ターミナルを開き直して反映されるかを調べます。 - プロジェクトの依存関係だけ失敗する:全体インストール先ではなく、プロジェクトの場所、授業指定のコマンド、エラーに示されたファイルを調べます。
- VS Codeからだけ見つからない:VS Code内のターミナルが通常のターミナルと同じシェルや設定を読み込んでいるか確認します。VS Codeのターミナルプロファイル資料に沿って、利用中のプロファイルを照合してください。
Node.js 24のnpm権限エラーは、権限を強くするより、どのnpmがどの場所へ書き込もうとしているかを確かめる方が安全です。手元のMacで権限変更ができない、学校の端末では開発環境を整えられないなど、問題がnpmではなく学習環境そのものにある場合は、現在の方法では管理制限、環境の食い違い、授業用設定を変えられないことが負担になります。必要な授業課題をMac上で進める期間だけ環境を確保したいなら、MACNOXの料金と利用条件を確認し、利用が決まった場合はMACNOXのMac利用案内から検討できます。管理者権限のある自分のMacでNode.jsを継続して使う予定なら、レンタルより現在の環境を整える方が適しています。