← エラー辞典に戻る

環境構築

Permission denied

権限が不足している

こんな症状

ファイル操作やnpmコマンドで「Permission denied」と表示される。権限の問題で起きるよ。

まず試す

node_modules なら sudo chown -R $(whoami) node_modules で所有者を自分に戻す。npm install に sudo は使わない。

env
# npmのグローバル先を自分のフォルダに(sudo不要に)
npm config set prefix ~/.npm-global

# シェルスクリプトは実行権限を付ける
chmod +x build.sh
./build.sh

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • npm で EACCES が出る
    → sudo を使わず、npm config set prefix で自分のフォルダに変える(nvmでも解消)。
  • 過去に sudo install して所有者が root
    → sudo chown -R $(whoami) node_modules で戻す。
  • シェルスクリプトが Permission denied
    → chmod +x ファイル で実行権限を付ける。

なぜ起きる?

ファイルやフォルダへのアクセス権限がないよ。過去にsudoでnpm installした結果、node_modulesの所有者がrootに変わってしまったケースが多いんだ。また、システムディレクトリ(/usr/local等)への書き込みは管理者権限が必要だよ。

✕ エラーが起きるコード
$ npm install -g create-react-app
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'

$ ./build.sh
bash: ./build.sh: Permission denied
✓ 直したコード
# npmのグローバル先を自分のフォルダに変更(sudo不要になる)
$ npm config set prefix ~/.npm-global

# シェルスクリプトは実行権限を付ける
$ chmod +x build.sh
$ ./build.sh

✅ 直ったか確認

コマンドが権限エラーなく実行できればOK。

🆘 まだ直らないときは

システムディレクトリ(/usr/local 等)への書き込みは避け、自分のホーム配下で作業しよう。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

環境構築ガイド(基礎から)で根本から理解する →

📝 関連ブログ記事

📖 関連する用語

🚀 環境構築ガイドで基礎を学ぼう!

エラーの原因を根本から理解するには、基礎を体系的に学ぶのが近道です。完全無料・登録不要。

環境構築ガイドを始める →

❓ 関連するQ&A