2012-01-28 12 views
107

Zainstalowałem NodeJS z pliku pkg na moim Macu. Teraz muszę go odinstalować. Powiedz mi, proszę, jak to zrobić. Starałem się usunąć pliki z tej listy:Jak odinstalować nodejs z pkg (Mac OS X)?

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

Ale węzeł jest nadal na mój komputer.

+1

mogę pamiętać, że 'sudo npm odinstalować npm -g' jest znacznie bezpieczniejsze i łatwiejsze niż odpowiedzi udzielonych poniżej? – tomsmeding

+13

Ale to nie odinstalowuje pliku node.js – Jake

Odpowiedz

168

Pobiegłem:

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

zakodowana gist 2697848

Aktualizacji Wydaje się, że nazwa pliku wpływy .bom mogły ulec zmianie, więc może trzeba wymienić org.nodejs.pkg.bom z org.nodejs.node.pkg.bom wyżej. Istota została odpowiednio zaktualizowana.

+2

Bardzo pomocne. Dodam tylko, że węzeł 0.4 jest zainstalowany w/usr, a nie/usr/local. Więc "sudo rm/usr/local/$ {i}" musi zostać zmieniony. Dla mnie zrobiłem "sudo rm/$ {i}" od plików bom, w których pathed lubił: "./usr/bin/node" –

+13

Stworzyłem [gist] (https://raw.github.com/gist/ 2697848/uninstall-node.sh). Używaj go na własne ryzyko. – nicerobot

+1

solidna odpowiedź. to wystarczyło. – emilebaizel

95

Jeśli zainstalowano węzeł z ich website, spróbuj tego:

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

ten pracował dla mnie, ale jeśli masz jakieś pytania, mój GitHub jest „mnafricano”.

+5

wydawało się działać dla mnie – Neil

+0

Mam mój zainstalowany w/opt/local/bin – owca

+1

To prawdopodobnie dlatego, że używasz MacPorts – notthetup

5

Użyj npm, aby odinstalować. Po prostu uruchomiony sudo npm uninstall npm -g usuwa wszystkie pliki. Aby pozbyć się obcego rzeczy jak ścieżki: bash uruchomić ten (z odpowiedzią nicerobot za):

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

11

Aby usunąć „native” node.js instalacji użyłem metody zaproponowane w poprzednich odpowiedziach sudo npm uninstall npm -g, z dodatkowym sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*.

ALE, musiałem również usunąć następujące dwa katalogi:

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

Dopiero wtedy mogłem zainstalować node.js z Homebrew.

+3

nie było dla mnie wystarczające - musiałem też użyć' '' sudo rm/usr/local/bin/node /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d '' ' –

6

Jest to pełna lista komend użyłem (wiele dzięki plakatów powyżej):

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 
+0

To działało dla mnie! – Simeon

57

Po poprzednich postów, tutaj jest pełna lista użyłem

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 
+0

doskonały, działa –

+1

DZIĘKUJEMY. Mój MySQL przestał działać, więc musiałem go usunąć, to + restart wziął górę. – mizuki

+0

Musiałem również usunąć dwa dodatkowe pliki: '/ usr/local/share/doc/node/gdbinit' oraz'/usr/local/share/systemtap/tapset/node.stp' –

2

Trochę wygody skrypt rozwijający się na poprzednich odpowiedziach.

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

zapisać go do pliku i uruchomić z:

# bash filename.sh 
4

wziąłem listy AhrB, natomiast dołączone trzy kolejne pliki. Oto pełna lista, której używałem:

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 
+0

Sprawdziło się doskonale dla mnie! Pomiń ostatnią linię, aby odinstalować węzeł w systemie. – Rich

+0

Dzięki @ Ric za komentarz, skomentowałem ostatnią linię. – hailong

0

Musiałem usunąć następujące pliki, ponieważ napar się poskarżył w instalacji później po ręcznym usunięciu wszystkich plików.

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

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

a następnie wykonaj następujące czynności

brew install node 

brew link node 
+0

Użyj znaczników, aby sformatować swój kod lub pathes jako monotyp. – buhtz

+0

Pytanie dotyczy dezinstalacji, a nie instalacji .. prawdopodobnie błędnie piszesz, że powinno być ..... – mhasan