Bagaimana cara menghapus instalasi nodejs dari pkg (Mac OS X)?

124

Saya menginstal NodeJS dari file pkg di Mac saya. Sekarang saya perlu menghapus instalannya. Tolong beritahu saya bagaimana melakukannya. Saya mencoba menghapus file dari daftar ini:

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

Tapi node masih ada di komputer saya.

Varvara Stepanova
sumber
1
Dapatkah saya mencatat itu sudo npm uninstall npm -gjauh lebih aman dan mudah daripada jawaban yang diberikan di bawah ini?
tomsmeding
17
Tapi itu tidak menghapus node.js
Jake

Jawaban:

172

Saya berlari:

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

Dikodekan menjadi intisari 2697848

Perbarui Tampaknya .bomnama file tanda terima mungkin telah berubah sehingga Anda mungkin perlu menggantinya org.nodejs.pkg.bomdengan yang org.nodejs.node.pkg.bomdi atas. Intinya telah diperbarui.

nicerobot
sumber
2
Sangat membantu. Satu-satunya hal yang akan saya tambahkan adalah node 0.4 ish diinstal di / usr, bukan / usr / local. Jadi "sudo rm / usr / local / $ {i}" perlu diubah. Bagi saya, saya melakukan "sudo rm / $ {i}" karena file bom di mana jalurnya disukai: "./usr/bin/node"
Dustin Simpson
13
Saya membuat intisari untuk itu. Gunakan dengan resiko Anda sendiri.
nicerobot
5
@nicerobot Terima kasih atas intinya / skripnya! Mungkin harus menunjukkan kepada orang lain bahwa halaman inti sebenarnya untuk skrip itu ada di sini . Juga, menjadi n00b untuk menjalankan skrip .sh sendiri, saya harus melakukannya $ chmod u+x uninstall-node.shdan kemudian $ ./uninstall-node.shsebelum itu berhasil untuk saya. :)
mhulse
1
ya itu berhasil, jawaban yang keren. apa pun yang saya memiliki sedikit sesuatu yang tersisa dan baru saja menyelesaikannya dengan rm -rf /Users/me/local/bin/nodesekarang goyang node tidak stabil!
Bent Cardan
1
@Gomino ketika menjalankan hal-hal seperti ini, saya akan mengatakannya secara lebih umum, Anda BENAR-BENAR harus memeriksa sistem Anda dan skrip untuk memahami apakah itu akan melakukan apa yang Anda inginkan. Skrip ini ditulis untuk versi macOS dan Node.js yang lebih lama sehingga mungkin memerlukan pembaruan.
nicerobot
116

Jika Anda menginstal Node dari situs web mereka , coba ini:

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

Ini berhasil untuk saya, tetapi jika Anda memiliki pertanyaan, GitHub saya adalah 'mnafricano'.

Afreekano
sumber
Saya telah menginstal milik saya di / opt / local / bin
sasklacz
1
Itu mungkin karena Anda menggunakan MacPorts
notthetup
Ini berhasil bagi saya setelah skrip @ nicerobot (jawaban dengan peringkat lebih tinggi) gagal, secara sembarangan. Dicopot dan dipasang ulang 0.10.32.
Jeff Dickey
3
dan juga hilang/usr/local/lib/dtrace/node.d
Pascal Belloncle
2
hilang/var/db/receipts/org.nodejs.*
Wallace Sidhrée
68

Mengikuti posting sebelumnya, berikut adalah daftar lengkap yang saya gunakan

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
Trefex
sumber
1
TERIMA KASIH. MySQL saya berhenti berfungsi jadi saya hanya perlu menghapusnya, ini + restart berhasil.
mizuki
Saya juga harus menghapus dua file tambahan: /usr/local/share/doc/node/gdbinitdan/usr/local/share/systemtap/tapset/node.stp
xji
mendapat 2 kesalahan sebagai rm: / usr / local / bin / node: Tidak ada file atau direktori seperti itu, rm: /usr/local/share/man/man1/node.1: Tidak ada file atau direktori seperti itu
vikramvi
11

Untuk menghapus instalasi node.js 'asli', saya telah menggunakan metode yang disarankan dalam jawaban sebelumnya sudo npm uninstall npm -g, dengan tambahan sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*.

TAPI, saya juga harus menghapus dua direktori berikut:

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

Baru setelah itu saya bisa menginstal node.js dengan Homebrew.

t0r0X
sumber
3
tidak cukup bagi saya - harus jugasudo rm /usr/local/bin/node /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
Hertzel Guinness
8

Ini adalah daftar lengkap perintah yang saya gunakan (Terima kasih banyak untuk poster di atas):

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
AhrB
sumber
5

Gunakan npm untuk uninstall. Hanya menjalankan sudo npm uninstall npm -gmenghapus semua file. Untuk menyingkirkan hal-hal asing seperti nama jalur bash, jalankan ini (dari jawaban nicerobot):

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

alexbhandari.dll
sumber
5

Saya mengambil daftar AhrB, sambil menambahkan tiga file lagi. Berikut adalah daftar lengkap yang telah saya gunakan:

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
hailong
sumber
1
Bekerja dengan baik untuk saya! Lewati baris terakhir untuk membiarkan node terinstal di sistem Anda.
Kaya
Terima kasih @Rich atas komentarnya, saya telah mengomentari baris terakhir.
hailong
3

Sedikit skrip kenyamanan yang memperluas jawaban sebelumnya.

#!/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}

Simpan ke file dan jalankan dengan:

# bash filename.sh
Misha Tavkhelidze
sumber
0

Saya harus menghapus file berikut juga karena brew mengeluh di instal nanti setelah secara manual menghapus semua file.

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

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

lalu lakukan hal berikut

brew install node 

brew link node
Srini 7
sumber
Gunakan markup untuk memformat kode atau jalur Anda sebagai monotipe.
buhtz
Pertanyaannya adalah tentang mencopot pemasangan bukan memasang .. Anda mungkin salah mengeja seharusnya ..... brew uninstall node
mhasan
0

Berikut ini bekerja setelah trial and error, dan direktori ini tidak dapat ditulis jadi, saya menghapusnya dan akhirnya bisa mendapatkan node & npm diganti.

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
Thomas Peters
sumber
1
Saya mengubah format Anda. Anda dapat memilih blok teks dan mengklik ikon kurung kurawal untuk mendapatkan teks spasi tunggal. Atau indentasi setiap baris dengan empat spasi jika Anda seorang masokis.
Echo Nolan