Pkg'den (Mac OS X) yüklenen nodej'leri nasıl kaldırırım?


124

Mac'ime pkg dosyasından NodeJS kurdum. Şimdi onu kaldırmam gerekiyor. Lütfen nasıl yapılacağını söyle. Dosyaları bu listeden kaldırmaya çalıştım:

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

Ancak düğüm hala bilgisayarımda.


1
Bunun sudo npm uninstall npm -gaşağıda verilen cevaplardan çok daha güvenli ve kolay olduğunu not edebilir miyim ?
tomsmeding

17
Ancak bu, node.js'yi kaldırmaz
Jake

Yanıtlar:


172

Koştum:

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

İçine Kodlu Ana fikir 2697848

Güncelleme Görünüşe göre makbuzların .bomdosya adı değişmiş olabilir, bu nedenle yukarıdaki org.nodejs.pkg.bomile değiştirmeniz gerekebilir org.nodejs.node.pkg.bom. Özet buna göre güncellendi.


2
Çok yararlı. Ekleyeceğim tek şey 0.4 ish düğümünün / usr / local değil, / usr içine kurulu olmasıdır. Bu yüzden "sudo rm / usr / local / $ {i}" değiştirilmesi gerekiyor. Yolun sevildiği bom dosyalarından beri "sudo rm / $ {i}" yaptım: "./usr/bin/node"
Dustin Simpson

13
Bunun için bir öz yarattım . Kendi sorumluluğunuzdadır kullanın.
nicerobot

5
@nicerobot Özet / komut dosyası için teşekkürler! Muhtemelen o komut dosyasının asıl öz sayfasının burada olduğunu başkalarına işaret etmelidir . Ayrıca, .sh komut dosyalarını çalıştırmak için bir n00b olarak, bunu yapmak zorundaydım $ chmod u+x uninstall-node.shve sonra $ ./uninstall-node.shbenim için çalıştı. :)
mhulse

1
evet işe yaradı, güzel cevap. her neyse, geriye kalan küçük bir şey vardı ve rm -rf /Users/me/local/bin/nodeşimdi sallanan düğüm kararsızken bunu hemen bitirdim !
Bent Cardan

1
@Gomino böyle şeyler çalıştırırken, daha genel bir ifadeyle, istediğiniz şeyi yapıp yapmayacağını anlamak için GERÇEKTEN sisteminizi ve betiği kontrol etmelisiniz. Komut dosyası, macOS ve Node.js'nin eski sürümlerine karşı yazıldığından, güncelleme gerektirebilir.
nicerobot

116

Node'u kendi web sitelerinden yüklediyseniz , şunu deneyin:

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

Bu benim için çalıştı, ancak herhangi bir sorunuz varsa GitHub'ım 'mnafricano'dur.


Benimkini / opt / local / bin
sasklacz

1
Bunun nedeni muhtemelen MacPorts kullanıyor
olmanızdır

Bu, @ nicerobot'un komut dosyası (daha yüksek puanlı yanıt) kakofonik bir şekilde başarısız olduktan sonra benim için çalıştı. 0.10.32 kaldırıldı ve yeniden yüklendi.
Jeff Dickey

3
ve ayrıca kayıp/usr/local/lib/dtrace/node.d
Pascal Belloncle

2
eksik/var/db/receipts/org.nodejs.*
Wallace Sidhrée

68

Önceki gönderilerin ardından, işte kullandığım tam liste

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
TEŞEKKÜR EDERİM. MySQL'im çalışmayı durdurdu, bu yüzden onu kaldırmam gerekiyordu, bu + bir yeniden başlatma hile yaptı.
mizuki

Ayrıca iki ek dosyayı da kaldırmak zorunda kaldım: /usr/local/share/doc/node/gdbinitve/usr/local/share/systemtap/tapset/node.stp
xji

rm olarak 2 hata var: / usr / local / bin / node: Böyle bir dosya veya dizin yok, rm: /usr/local/share/man/man1/node.1: Böyle bir dosya veya dizin yok
vikramvi

11

'Native' node.js kurulumunu silmek için önceki cevaplarda önerilen yöntemi sudo npm uninstall npm -gek olarak kullandım sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*.

ANCAK, aşağıdaki iki dizini de silmem gerekiyordu:

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

Ancak bundan sonra, Homebrew ile node.js yükleyebildim.


3
benim için yeterli değildi - ayrıca sudo rm /usr/local/bin/node /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
mecburdu

8

Bu, kullandığım komutların tam listesi (Yukarıdaki posterlere çok teşekkürler):

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

Kaldırmak için npm kullanın. Sadece çalıştırmak sudo npm uninstall npm -gtüm dosyaları kaldırır. Bash yol adları gibi gereksiz şeylerden kurtulmak için şunu çalıştırın (nicerobot'un cevabından):

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


5

Üç dosya daha eklerken AhrB'nin listesini aldım. İşte kullandığım tam liste:

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
Benim için harika çalıştı! Sisteminizde düğümü kaldırılmış halde bırakmak için son satırı atlayın.
Zengin

@Rich yorumunuz için teşekkürler, son satırı yorumladım.
dolu

3

Önceki cevapları genişleten küçük bir kullanışlı komut dosyası.

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

Dosyaya kaydedin ve şununla çalıştırın:

# bash filename.sh

0

Brew daha sonra tüm dosyaları manuel olarak kaldırdıktan sonra kurulumda şikayet ettiğinden aşağıdaki dosyaları da kaldırmak zorunda kaldım.

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

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

ve sonra aşağıdakileri yapın

brew install node 

brew link node

Kodunuzu veya yollarınızı tek tip olarak biçimlendirmek için işaretlemeyi kullanın.
buhtz

Soru, yüklemeyi değil yüklemeyi kaldırmakla ilgili .. muhtemelen yanlış
yazmalısınız

0

Aşağıdakiler deneme yanılma işleminden sonra çalıştı ve bu dizinler yazılabilir değildi, bu yüzden onları kaldırdım ve sonunda node & npm'yi değiştirebildim.

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
Biçimlendirmenizi değiştirdim. Tek aralıklı metin almak için bir metin bloğu seçebilir ve kaşlı ayraç simgesini tıklayabilirsiniz. Ya da mazoşistseniz her satırı dört boşlukla girin.
Echo Nolan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.