Tips
npm installエラー、node_modules削除は最終手段
2025-12-08
結論:エラーメッセージを読め
npm ERR! ERESOLVE unable to resolve dependency tree
**「dependency tree」=依存関係の問題。**node_modulesを消しても解決しない。
エラーメッセージに原因が書いてある。読まずに削除するのは時間の無駄。
エラー別の対処法
| エラー | 原因 | 対処 |
|---|---|---|
ERESOLVE | 依存関係の競合 | バージョン調整 |
EACCES | 権限エラー | npmの設定変更 |
EINTEGRITY | キャッシュ破損 | キャッシュクリア |
engines | Nodeバージョン不一致 | 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の違い
| 項目 | npm | yarn | pnpm |
|---|---|---|---|
| 速度 | 普通 | 速い | 最速 |
| ディスク使用量 | 大 | 大 | 小 |
| lockfile | package-lock.json | yarn.lock | pnpm-lock.yaml |
**チームで統一することが重要。**混在すると依存関係が壊れる。
私がやらかした失敗
「エラーが出た」→ node_modules削除 → 同じエラー → 「おかしい」→ 再度削除
**3回繰り返して、やっとエラーメッセージを読んだ。**Nodeバージョンが16で、18が必要だった。
エラーメッセージにengineと書いてあったのに、見ていなかった。
対処の優先順位
1. エラーメッセージを読む
2. 該当箇所だけ修正
3. それでもダメならキャッシュクリア
4. 最終手段でnode_modules削除
いきなり削除に行くと、原因がわからないまま時間だけ溶ける。
まとめ
- エラーメッセージに原因が書いてある
ERESOLVEはバージョン調整で解決EINTEGRITYだけはnode_modules削除が有効- sudoでnpmを実行しない
- チームでパッケージマネージャーを統一