Macでwebpackがうまく走らなくなった際にした対処
概要
ある日突然webpackがうまく走らなくなった。
正確には走らせた後に途中で停止してしまい、コマンドを受け付けなくなってしまった。
結論から言えばNode.jsとnpmのバージョンのずれが問題であった。
最終的にはNode.jsをv12.22.12, npmを6.14.16をすることで解決した。
しかしv12.22.12はlatestではないため、他案件の開発時に問題が生じる。
そこでNode.jsとnpmのバージョンを適切にあわせつつ、
バージョンを手軽にスイッチできるツールであるnodebrewを導入した。
本稿ではインストール済のNode.jsとnpmのアンインストール手順と、
nodebrew導入〜その利用までの手順を解説する。
Node.jsとnpmのアンインストール
次のコマンド3つを実行。
sudo npm uninstall npm -g
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read i; do sudo rm /usr/local/${i}; done$ sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf ~/.npm
アンインストールされているかはバージョン確認のコマンドを打って確認。
command not found であればOK
npm -v
node -v
nodebrewをインストールする
次のコマンドでnodebrewをインストール。
curl -L git.io/nodebrew | perl - setup
うまくいけばパスを追加しなさいとの旨のメッセージがでるので次にパスの追加を行う。
/.bashrc
に次のように追記。(.bashrcがなければ作成する)
export PATH=$HOME/.nodebrew/current/bin:$PATH
nodebrewのコマンドが使えるようにするために、ターミナルを再起動するかsourceコマンドで.bashrcを読み込む。
source /.bashrc
これでnodebrewコマンドが使えるようになる。
nodebrewコマンドでNode.jsのv12.22.12をインストールする。
nodebrew install-binary v12.22.12
なおインストール済みのNode.jsバージョンのリストはlist
コマンドで確認できる。
nodebrew list
実はまだこの段階ではNode.jsもnpmも使うことができない。
そのためにはuse
コマンドで使用したいNode.jsのバージョンを指定する必要がある。
nodebrew use v12.22.12
node -v
npm -v
でバージョン情報が表示されるならNode.jsもnpmも正常に使用できるようになっている。
なお使用するNode.jsを他のバージョンに切り替えたいときはuse
の後のバージョン箇所を書き換えればいい。