プログラマーノート

プログラマーの学習や雑記のメモです

npmのエラー対処法TIPS

はじめに

こんにちは。エンジニアの仕事をしている、たかふみです。

今回は、npmを使用していると、よく躓く、エラーの対処方法のTIPSについてまとめます。

ライブラリバージョンアップしたけど切り戻したい

npmのライブラリをバージョンアップさせたけど、エラーが起きて動かないから、やっぱりバージョンアップをやめたい場合の対処方法です。

git commit 前でしたら、以下のファイルの修正を破棄してください。

git にpushしてしまった場合は、リバートかけてください。

pacage.json
pacage-lock.json

ライブラリの設定を戻したら、npm ciでライブラリをnode_modulesにインストールし直し、キャッシュクリアしてから、npm run devなどで、ビルドを実行してください。

これでライブラリのバージョンがもとどおりになったのではないでしょうか?

# node_modulesへライブラリをインストールし直す
npm run ci

# キャッシュをガベージコレクションする
npm cache verify

# ビルドし直す
npm run dev

npm installが失敗する場合

npm installが失敗する場合があり、これにはいくつか対処するパターンがあります。

依存しているライブラリが足らない場合

まず、自分がnpmで何かライブラリをインストールする機会があって、失敗するパターンです。

その原因の多くは、依存しているパッケージが不足しており、不足しているパッケージをインストールしてから、再びインストールすると解決する場合が多いです。

原因不明だがインストールできない場合

ただし、ごくまれに原因不明だが、とにかくnpmでライブラリをインストールできない。という場合もあります。

その場合の対処方法は、npmのバージョンを切り替えると解決できる場合があります。

私のローカル環境のNode.jsは、バージョン16でしたが、Node.jsのバージョンを15に落とすとインストールできた場合がありました。nvmなどを使用し、npmそのもののバージョンを切り替えてから、npmのインストールが必要な場合があります。

他人が変更したライブラリの修正をinstallできない場合

他の開発者が、npmでpackage.jsonにライブラリを追加したとします。

対象の修正を取り込み、npm installすると、warningが多発しエラーになる場合があります。

その場合の対処方法は、ライブラリの再インストールを実行をすれば解決する場合が多いです。

# node_modulesへライブラリをインストールし直す
npm run ci

# キャッシュをガベージコレクションする
npm cache verify

# ビルドし直す
npm run dev

どうしてもnpm installがうまくいかないときの最終手段

しかし、これでも正常にビルドされない場合があります。

その場合は、node_modulesと、pacage-lock.jsonを削除してからインストールし直すと治る場合もあります。

ただし、これは最終手段です。pacage-lock.jsonすると依存ライブラリが変わってしまう恐れがありますので、本番反映しているシステムで実行する際は要注意です。リリース前の状態でのみ実行をおすすめします。

# node_modulesへライブラリをインストールし直す
rm -rf node_modules

# パッケージのロックファイルを削除
rm package-lock.json

# ライブラリをインストール
npm install

# キャッシュをガベージコレクションする
npm cache verify

# ビルドし直す
npm run dev

なぜかgitのブランチ切り替えができない場合

gitのブランチが切り替えができない原因は、npm run watch-pollなどでリアルタイムビルドを実行中にブランチを切り替えると、エラーが出てブランチが切り替えられない場合があります。

ctrl+cなどで、リアルタイムビルドを中断してからgitのブランチ変更をしてください。

さいごに

いかがでしたでしょうか。

JavaScriptを使用するフロントエンド開発者の方はnpmをよく使用すると思いますので、npmのエラーが出た場合の対処法を参考にして頂けたら幸いです。