skip to content
Logo
Yurikago Blog

M1 Mac インストール済みのnodeを削除してnodenvを導入する

/ 2 min read

Table of Contents

M1 MacにインストールされていたNode.jsを全てアンインストールして、nodenvをインストールした手順をまとめました。

検証環境

  • macOS Big Sur 11.4
  • Homebrew 3.2.0
  • nodenv 1.4.0

Homebrewで追加したNode.jsをアンインストール

brewでyarnをインストールした際、意図せずnodeがインストールされていました。

  • /usr/local/bin/node
    • pkgでインストールした既存のnodeパス
  • /opt/homebrew/bin/node
    • brewでインストールされたnodeパス
    • nodeコマンドはこちらを参照していた

原因はyarnの依存パッケージにnodeが登録されているためでした。対策として、いったんyarnをアンインストールしたあとでnodeをアンインストールしました。

brew uninstall yarn
brew uninstall node

nodeのアンインストール後、再びyarnをインストールしました。このとき --ignore-dependencies オプションを指定することで依存パッケージであるnodeのインストールをスキップしました。

brew install --ignore-dependencies yarn

参考: https://hisa-tech.site/yarn-install-stumble/

pkgで追加したNode.jsをアンインストール

概ね参考ページの手順に沿って対応しました。まずは削除対象のファイルをbomファイルから取得します。

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom > org.nodejs.node.pkg.bom

出力されるファイルの中身は以下です。

# org.nodejs.node.pkg.bom (before)
./usr/local/bin/node
./usr/local/include/node/common.gypi
./usr/local/include/node/config.gypi
./usr/local/include/node/cppgc/allocation.h
./usr/local/include/node/cppgc/common.h
:

各行の先頭のドットは不要なので削除します。

# org.nodejs.node.pkg.bom (after)
/usr/local/bin/node
/usr/local/include/node/common.gypi
/usr/local/include/node/config.gypi
/usr/local/include/node/cppgc/allocation.h
/usr/local/include/node/cppgc/common.h
:

以下のスクリプトを実行してnode関係のファイルを削除します。

for f in `cat org.nodejs.node.pkg.bom`; do sudo rm -f ${f}; done
sudo rm -rf /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

参考: https://hacknote.jp/archives/30163/

nodenvをインストール

Homebrewでインストールしました。

参考: https://github.com/nodenv/nodenv#homebrew-on-macos