はじめに
MacでNode.jsを使いたくて、公式ホームページからpkgをダウンロード、インストールしました。その後、brew doctor
を実行したら、node関連のファイルの影響で警告が出ていたので、homebrewから再インストールしようとやってみました。
Node.jsのアンインストール
必要に応じてsudo
で実行してください。
まず始めに、npmのアンインストール。
sudo npm uninstall --location=global npm
rm -rf .npm
npm -v
最後に、「zsh: command not found: npm」と出力されたら成功。
次に、Node.jsのbomファイルから削除対象のファイルを取得して削除。それ以外の関連するファイルも削除。
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom | while read i; do sudo rm /usr/local/${i}; done
rm -rf /usr/local/lib/node
rm -rf /usr/local/lib/node_modules
rm -rf /var/db/receipts/org.nodejs.*
node -v
また最後に、「zsh: command not found: npm」と出力されたら成功だったのだけど、私の場合はバージョンが出てしまったので、以下のコマンドで対象のファイルを確認し、削除。
which node
rm /usr/local/bin/node
yarn
もインストールしていたことを忘れていたので、それも対象のファイルを確認して削除。本当なら、npm
をアンインストールする前にnpm uninstall --location=global yarn
で消すべきだったと思います。
which yarn
ls /usr/local/bin/yarn
rm /usr/local/bin/yarn
yarn -v
最後に、「zsh: command not found: npm」と出力されたら成功。
再度brew doctor
を実行したら、yarn
で入れた覚えのあるファイルが警告で表示されたので、それぞれrm
で削除。もう一回brew doctor
を実行したら警告がなくなりました。
Node.jsのインストール
色々調べてみたら、nodebrewやめてVoltaにのりかえてみたというブログを目にして、良さそうだったのでVoltaからインストールしてみました。
$ brew install volta
$ volta -v
1.0.8
さっそくnodeをインストール。
$ volta install node
success: installed and set node@16.15.1 (with npm@8.11.0) as default
$ node -v
zsh: command not found: node
nodeコマンドが使えない!?パスの設定かなと思い、公式サイトを見てみると、やはりパスを追加しなければいけない模様。なので、ホームディレクトリにある.zshrcファイルに以下の記述を追加、ターミナルを再起動したらうまくいきました。
export VOLTA_HOME="$HOME/.volta"
export PATH="$VOLTA_HOME/bin:$PATH"
$ node -v
v16.15.1
これでNode.jsのインストールは完了。npm
も一緒に入っていました。yarn
も使いたいので、続けてインストールしてみました。
$ volta install yarn
success: installed and set yarn@1.22.19 as default
$ yarn -v
1.22.19
何も問題なくできました。
プロジェクトごとにnode
やyarn
のバージョンも指定できるそうなので、ここから先は調べてやってみてください。
$ volta pin node@16.13.1
success: pinned node@16.13.1 (with npm@8.1.2) in package.json
$ volta pin yarn@1.22.1
success: pinned yarn@1.22.1 in package.json