npmが急に動かなくなった時の対処法
npmのパスは通っている(which npmを実行したときにパスは表示される)がnpmコマンドを実行したとき
env: node: No such file or directory
が表示される時の対処方法をChat GPTに聞いてみた
ちなみに、私は完全インストールで解決しました
ChatGPTの回答
ありがとうございます。「PATH は通っているのに npm コマンドが実行できない」というのは少し複雑な状況ですが、よくある原因をいくつか挙げた上で、確実な対処法をご案内します。
✅ 確認ステップ
まず以下を実行して、出力を貼っていただけると原因を特定しやすいです:
which npm
ls -l $(which npm)
npm -v
以下に該当するケースがあるか確認してください。
🧯 よくある原因と対処法
🔸 1. npm の実体が壊れている / リンク切れ
ls -l $(which npm)
で表示されるパスが「壊れたシンボリックリンク(broken symlink)」になっている可能性があります。たとえばこんな状態:
/usr/local/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js
このリンク先ファイルが存在しない場合、npm が壊れています。
🔧 対処法:
brew reinstall node
または、Node公式サイトから再インストール。
🔸 2. npm の実体があるがパーミッション(実行権限)がない
ls -l $(which npm)
で -rw-r--r-- のようになっていて x(実行権限)が付いていなければ、それが原因です。
🔧 対処法:
chmod +x $(which npm)
🔸 3. npm の内部エラー(壊れた npm)
たとえば npm -v を打ったときに env: node: No such file or directory が出る場合:
→ node の PATH は通ってない状態です。
npm は内部的に node を呼び出すので、それが見つからないと npm 自体も動きません。
🔧 対処法:
which node
で node が見つからない場合、以下を追加してください(zsh の場合):
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Intel Mac の場合は /usr/local/bin を使うこともあります。
✅ 最終手段:完全再インストール
brew uninstall node
brew cleanup
brew install node
📌 まとめ
あなたの環境で which npm でパスが出てるのに動かないというのは:
npmが壊れているnodeに依存しているけど、nodeにアクセスできない実行権限がない
のどれかである可能性が非常に高いです。
もし差し支えなければ、which node、which npm、ls -l $(which npm) の出力を見せてもらえれば、ピンポイントで対処できます!やってみますか?
コメント
コメントを投稿