Mac Leopardにnode-v0.8.1.pkgで入れたnodeをアンインストールする
先日nodeの安定版0.8.0がリリースされた*1ので、nvmで入れようとしたけどエラーで入らない。Leopardがもう古いので、サポート対象外かも*2しれないけど、試しにMacintoshインストーラのnode-v0.8.1.pkgを使って入れてみました。これは、すんなり入ったのはいいんだけど/usr/local/bin/node
にしか入れることが出来ない作りだったので、インストールが出来ることだけ確認して消すことにしました。しかし、困ったことに、nodeのpkgインストーラーは、アンインストール手段を提供してないらしく、どうにか手動で取り除く方法を探しました。
解決策
[注意]sudo rmするコマンドをwhileで回すという、間違えたら怖いコマンドです。
自分自身、後述するstackoverflowにあったコマンドを、ほぼそのまま、あまり意味もわからず実行しているので、安全の保証は出来ません。
コマンドもsudo rm /usr/local/${i}
のところをls ${i}
にして、while文がちゃんと動くかや、何が消されるのかを確認したりしました。
下記のコマンドを何も考えずにコピーペーストするのは、とても危ないです。
lsbom -f -l -s -pf /Library/Receipts/boms/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.*
注意のところでも触れてるけど、見つけた方法を深追いせずに実行したのでこれで全部消せたかどうかも、ちゃんと把握はしてないです。ただ、どうやらMacではpkgのインストール情報が残っていてlsbom
で取得できるっぽいというだけ。
stackoverflow
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.*node.js - How do I uninstall nodejs installed from pkg (Mac OS X)? - Stack Overflow
見つけたstackoverflowだけどorg.nodejs.pkg.bom
の場所が違います。自分のMacではこの場所にはなく、色々探した結果/Library/Receipts/boms/org.nodejs.pkg.bom
に見つけました。