質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

1回答

1648閲覧

webサイトからインストールしたNode.jsをアンインストールする

tsukasada

総合スコア45

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2021/12/15 16:04

Webサイト(https://nodejs.org/ja/)からダウンロードしたNode.jsをアンインストールしたいのですが、やり方がわかりません。
何方か教えて下さい。

 試した事
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 -v するとv17.2.0とバージョンが表示されます。
ちなみに
which nodeで何処にあるか調べた結果

/usr/local/bin/node

にありましたので、

$rm node

をすると rm: node: No such file or directory
と記載されます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi-sun

2021/12/16 02:00

質問欄はMarkdown形式での記述ですので、 行先端の半角スペース等は取り除かれてしまいます。 バックスラッシュ3個(JISキーボードならShift+@)だけの行を用意して ``` lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \ | while read i; do ``` みたいな感じでサンドイッチにしてください。 これでぐっと読みやすい質問になります。
guest

回答1

0

ベストアンサー

不信に思って「Node.js Mac アンインストール」等のワードで検索したら確かに
英語版スタフロを源流とするコードの一連の流れが出てきました。

bash

1lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \ 2| while read i; do 3 sudo rm /usr/local/${i} 4done 5sudo rm -rf /usr/local/lib/node \ 6 /usr/local/lib/node_modules \ 7 /var/db/receipts/org.nodejs.*

answered Feb 15 '12 at 2:58

おいおい、2012年2月15日の回答やぞ……

while以下はsudo rm /usr/local/「パス」という
ファイルを問答無用で削除するという戻れないことやってるわけですから
失敗したりOSの根幹で必要なファイルを消してたらヤバいですね☆

下手するとそのMacbookは起動もしない単なるゴミになって
Appleサポートに通って修理(ストレージの中身全て消去してクリーンインストール)になる可能性すらあります。

ブログ記事の人達は注意喚起するべきですね。
鵜呑みにして即実行とかダメ。絶対。
仮に実行するとして一旦下記のコマンドで何がされるか確認しましょう。

bash

1# そんな名前のファイルはあるのかい? 2$ ls /var/db/receipts/ | grep node 3 4# そのファイルが存在するとして、何が書かれているんだい? 5$ lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom

そもそもlsbomってなんなんだい?
https://ss64.com/osx/lsbom.html

List the contents of an installer's bom (bill of materials) file. This can be used to find out what files an installer will add/replace in your system before running it. It can also list details of a previous install.
和訳: インストーラーのbom(部品表)ファイルの内容を一覧表示します。これを使用して、インストーラーを実行する前に、インストーラーがシステムに追加/置換するファイルを見つけることができます。以前のインストールの詳細を一覧表示することもできます。

lsbomファイルは部品表であり
pkgのインストーラーでインストールを行ったら
何のファイルを追加・置換したかを記憶する事になる。

それを/var/db/receipts/org.nodejs.pkg.bomみたいなファイルに固めておいたよ。
だからそいつらをsudo rmコマンドに投げ込めば綺麗にアンインストール出来るよ。

こういう話の流れですね。
追加はさておき「置換」ってなんだよ怖すぎるでしょ。
まぁいいや。一度確認さえしておけば大事故にはならないでしょうし。


続いて検索結果を辿ると下記のような記事を発見しました。
pkgで導入したNode.jsをアンインストールする - HACKnote

一行目、org.nodejs.pkg.bomorg.nodejs.node.pkg.bomに改名されている

ここに来て新情報です。

質問者さんの実行していた1行目のコマンドのファイル
/var/db/receipts/org.nodejs.pkg.bomは存在しません。
つまり何も削除出来てないわけですね。

因みにこの記事ですらも2017年と古いので、
本当に存在するのか、ちゃんと確認した方が良いですね。


実際に確認してみました。

私はNode.jsをこれで使っているわけではないので、
Zoomを対象にしてみます。

bash

1$ ls /var/db/receipts/ | grep zoom 2us.zoom.pkg.videmeeting.bom 3us.zoom.pkg.videmeeting.plist 4us.zoom.pkg.videomeeting.bom 5us.zoom.pkg.videomeeting.plist 6 7$ lsbom -f -l -s -pf /var/db/receipts/us.zoom.pkg.videmeeting.bom 8./zoom.us.app/Contents/Resources/pt.PT.lproj/InfoPlist.strings 9#こういうのがうん百行

なるほど、こういう形式ならrmコマンドにぶち込んでも大した問題にはならなさそうですね。
……で、この./のファイルは/usr/local/libの中にあるんか?


macOSは大規模アップデート「Catalina」で
/usr以下の書き込みに相当制限を行うような改修を施しています。
当時、Homebrewやgcc等が動かなくなって阿鼻叫喚だった記憶があります。

試しに/usr/local/lib/zoom...略を探したらそんなディレクトリは存在しないですね。
Node.js系のファイルも同様に存在しないでしょう。

んで、どこにあるんだい?と探したら、
ls /Applications/zoom.us.com/Contents/Resources/pt.PT.lprojみたいな感じでディレクトリが見つかり、
該当のInfoPlist.stringsに辿り着く事ができました。

紆余曲折しましたが、最終的にはこんな感じになるかと思います。

bash

1npm uninstall -g npm 2lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom \ 3| while read i; do 4 sudo rm /Applications/${i} 5done 6sudo rm -rf /usr/local/bin/node \ # 質問文から推測するにこれを削除だね 7 /usr/local/bin/node_modules \ # node_modulesもbinに移動しているのでは? 8 /var/db/receipts/org.nodejs.*

何度も言いますが、何が削除されるのか確認するようにしてください。
そしてsudo rmコマンドでそのMacbookの何処にファイルを入れたのかを示す
org.nodejs.node.pkg.bomが消し飛ぶので
各ファイルを削除し損ねるとストレージ内に永久にゴミが溜まります。

この辺を理解して確認しながら作業をすすめてください。

投稿2021/12/16 03:27

miyabi-sun

総合スコア21203

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問