CreaTools LogoCreaTools
Tips

npm installエラー、node_modules削除は最終手段

2025-12-08

結論:エラーメッセージを読め

npm ERR! ERESOLVE unable to resolve dependency tree

**「dependency tree」=依存関係の問題。**node_modulesを消しても解決しない。

エラーメッセージに原因が書いてある。読まずに削除するのは時間の無駄。


エラー別の対処法

エラー原因対処
ERESOLVE依存関係の競合バージョン調整
EACCES権限エラーnpmの設定変更
EINTEGRITYキャッシュ破損キャッシュクリア
enginesNodeバージョン不一致nvm等でバージョン変更

ERESOLVE(依存関係エラー)

npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! peer react@"^17.0.0" from some-package@1.0.0

パッケージAが「React 17が必要」と言っているのに、React 18がインストールされている。

対処法

# 応急処置(非推奨)
npm install --legacy-peer-deps

# 根本解決:バージョンを合わせる
npm install react@17 react-dom@17

--legacy-peer-depsは「依存関係を無視してインストール」。動くかもしれないが、動かないかもしれない。


EACCES(権限エラー)

npm ERR! code EACCES
npm ERR! syscall mkdir

グローバルインストール先に書き込み権限がない。

対処法

# npmのグローバルディレクトリを変更(推奨)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

**sudoでnpmを実行するのは避ける。**権限問題が複雑化する。


EINTEGRITY(キャッシュ破損)

npm ERR! Integrity checksum failed

キャッシュが壊れている。これはnode_modules削除が有効なケース。

npm cache clean --force
rm -rf node_modules package-lock.json
npm install

Nodeバージョンエラー

npm ERR! engine Wanted: {"node":">=18.0.0"}

プロジェクトが要求するNodeバージョンと、インストール済みのバージョンが合わない。

# 現在のバージョン確認
node -v

# nvmでバージョン切り替え
nvm install 18
nvm use 18

チームで.nvmrcファイルを共有しておくと、バージョンが揃う。


npm / yarn / pnpmの違い

項目npmyarnpnpm
速度普通速い最速
ディスク使用量
lockfilepackage-lock.jsonyarn.lockpnpm-lock.yaml

**チームで統一することが重要。**混在すると依存関係が壊れる。


私がやらかした失敗

「エラーが出た」→ node_modules削除 → 同じエラー → 「おかしい」→ 再度削除

**3回繰り返して、やっとエラーメッセージを読んだ。**Nodeバージョンが16で、18が必要だった。

エラーメッセージにengineと書いてあったのに、見ていなかった。


対処の優先順位

1. エラーメッセージを読む
2. 該当箇所だけ修正
3. それでもダメならキャッシュクリア
4. 最終手段でnode_modules削除

いきなり削除に行くと、原因がわからないまま時間だけ溶ける。


まとめ

  • エラーメッセージに原因が書いてある
  • ERESOLVEはバージョン調整で解決
  • EINTEGRITYだけはnode_modules削除が有効
  • sudoでnpmを実行しない
  • チームでパッケージマネージャーを統一