pkg(Mac OS X)からインストールされたnodejsをアンインストールするにはどうすればよいですか?


124

MacのpkgファイルからNodeJSをインストールしました。今、それをアンインストールする必要があります。やり方を教えてください。このリストからファイルを削除しようとしました:

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

しかし、ノードはまだ私のコンピュータ上にあります。


1
私はそれが注意することができますsudo npm uninstall npm -g下記の答えよりもはるかに安全かつ簡単ですか?
tomsmeding 2014

17
しかし、それはnode.jsをアンインストールしません
Jake

回答:


172

私が走った:

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.*

要旨にコード化された2697848

更新 領収書のようだ.bomあなたは交換する必要があるかもしれないので、ファイル名が変更された可能性があるorg.nodejs.pkg.bomorg.nodejs.node.pkg.bom上記に。要旨は適宜更新されました。


2
非常に役立ちます。追加するのは、ノード0.4が/ usr / localではなく/ usrにインストールされていることだけです。したがって、「sudo rm / usr / local / $ {i}」を変更する必要があります。私にとって「sudo rm / $ {i}」を実行したのは、パスが付けられたbomファイルが好きだったからです。「./ usr / bin / node」
ダスティンシンプソン、

13
そのための要点を作成しました。自己責任で使用してください。
nicerobot、2012年

5
@nicerobot要旨/スクリプトをありがとう!おそらく、そのスクリプトの実際の要旨ページがここにあることを他の人に指摘する必要があります。また、自分で.shスクリプトを実行するn00b だったので、それが機能する前に$ chmod u+x uninstall-node.sh$ ./uninstall-node.shそれが必要でした。:)
mhulse 2013

1
ええ、それはうまくいきました、クールな答え。私が少し残したものは何でも、rm -rf /Users/me/local/bin/nodeすぐにロッキングノードが不安定になり、それをすぐに終えました!
Bent Cardan 2013年

1
@Gominoは、このようなものを実行する場合、より一般的に言えば、本当にシステムとスクリプトをチェックして、それが目的の動作をするかどうかを理解する必要があります。スクリプトは古いバージョンのmacOSおよびNode.jsに対して作成されたため、更新が必要になる場合があります。
nicerobot

116

NodeをWebサイトからインストールした場合は、次のことを試してください。

sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

これは私にとってはうまくいきましたが、質問があれば、私のGitHubは「mnafricano」です。


私は/ opt / local / binにインストールしました
sasklacz 2014年

1
あなたはMacPortsのを使用していたので、それはおそらくです
notthetup

@nicerobotのスクリプト(より高い評価の回答)が不協和音で失敗した後、これは私にとってはうまくいきました。0.10.32をアンインストールして再インストールしました。
ジェフディッキー

3
また、行方不明/usr/local/lib/dtrace/node.d
Pascal Belloncle、2015

2
行方不明/var/db/receipts/org.nodejs.*
WallaceSidhrée2015

68

以前の投稿に続いて、ここに私が使用した完全なリストがあります

sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
brew install node

1
ありがとうございました。MySQLが機能しなくなったので、削除する必要がありました。これで再起動がうまくいきました。
ミズキ

:私は、2つの追加ファイルを削除しなければならなかった/usr/local/share/doc/node/gdbinit/usr/local/share/systemtap/tapset/node.stp
xji

rm:/ usr / local / bin / node:No
such

11

「ネイティブ」のnode.jsインストールを削除するために、以前の回答sudo npm uninstall npm -gで提案された方法を追加で使用しましたsudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

しかし、次の2つのディレクトリも削除する必要がありました。

sudo rm -rf /usr/local/include/node /Users/$USER/.npm

その後、Homebrewでnode.jsをインストールできました。


3
私には十分ではありませんでしたsudo rm /usr/local/bin/node /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
ハーツェルギネス2015

8

これは私が使用したコマンドの完全なリストです(多くの場合上記のポスターのおかげです):

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
brew install node

5

npmを使用してアンインストールします。実行sudo npm uninstall npm -gするだけですべてのファイルが削除されます。bashパス名などの不要なものを取り除くには、これを実行します(nicerobotの回答から)。

sudo rm -rf /usr/local/lib/node \ /usr/local/lib/node_modules \ /var/db/receipts/org.nodejs.*


5

AhrBのリストを取りながら、さらに3つのファイルを追加しました。これが私が使用した完全なリストです:

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/systemtap/tapset/node.stp
sudo rm /usr/local/lib/dtrace/node.d
# In case you want to reinstall node with HomeBrew:
# brew install node

1
私のためにうまくいきました!最後の行をスキップして、システムでノードをアンインストールしたままにします。
リッチ

コメントをありがとう@Rich、最後の行をコメントアウトしました。
hailong 2017

3

以前の答えを拡張する少し便利なスクリプト。

#!/bin/bash

# Uninstall node.js
# 
# Options:
#
# -d Actually delete files, otherwise the script just _prints_ a command to delete.
# -p Installation prefix. Default /usr/local
# -f BOM file. Default /var/db/receipts/org.nodejs.pkg.bom

CMD="echo sudo rm -fr"
BOM_FILE="/var/db/receipts/org.nodejs.pkg.bom"
PREFIX="/usr/local"

while getopts "dp:f:" arg; do
    case $arg in
        d)
            CMD="sudo rm -fr"
            ;;
        p)
            PREFIX=$arg
            ;;
        f)
            BOM_FILE=$arg
            ;;
    esac
done

lsbom -f -l -s -pf ${BOM_FILE} \
    | while read i; do
          $CMD ${PREFIX}/${i}
      done

$CMD ${PREFIX}/lib/node \
     ${PREFIX}/lib/node_modules \
     ${BOM_FILE}

それをファイルに保存して、次のコマンドで実行します。

# bash filename.sh

0

brewが後ですべてのファイルを手動で削除した後のインストールで不平を言ったため、次のファイルも削除する必要がありました。

/usr/local/share/doc/node/gdbinit

/usr/local/share/systemtap/tapset/node.stp

次に、次の操作を行います

brew install node 

brew link node

マークアップを使用して、コードまたはパスをモノタイプとしてフォーマットします。
buhtz 2016年

質問は、インストールしないアンインストールについてです。おそらく、スペルを間違えているはずです..... brewアンインストールノード
mhasan

0

以下は試行錯誤の後で機能し、これらのディレクトリは書き込み可能ではなかったので、それらを削除し、最終的にノードとnpmを置き換えることができました。

sudo rm -rf /usr/local/share/systemtap
sudo rm -rf /usr/local/share/doc/node
sudo rm -rf /usr/local/Cellar/node/9.11.1
brew install node
==> Downloading https://homebrew.bintray.com/bottles/node-9.11.1.high_sierra.bottle.tar.gz
Already downloaded: /Users/xxx/Library/Caches/Homebrew/node-9.11.1.high_sierra.bottle.tar.gz
==> Pouring node-9.11.1.high_sierra.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/9.11.1: 5,125 files, 49.7MB

node -v
v9.11.1
npm -v
5.6.0

1
書式を変更しました。テキストのブロックを選択して中括弧アイコンをクリックすると、等幅テキストを取得できます。または、マゾヒストの場合は、すべての行を4つのスペースでインデントします。
エコーノーラン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.