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 yarnbrew 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}; donesudo rm -rf /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
参考: https://hacknote.jp/archives/30163/
nodenvをインストール
Homebrewでインストールしました。