2012-01-28 18 views
107

Ho installato NodeJS dal file pkg sul mio Mac. Ora ho bisogno di disinstallarlo. Dimmi per favore come si fa. Ho provato a rimuovere i file da questa lista:Come disinstallare nodejs installato da pkg (Mac OS X)?

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

Ma il nodo è ancora in il mio computer.

+1

Posso notare che 'sudo NPM disinstallazione npm -g' è molto più sicuro e più facile che le risposte date qui di seguito? – tomsmeding

+13

Ma questo non disinstalla node.js – Jake

risposta

168

mi sono imbattuto:

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

codificato in gist 2697848

Aggiornamento Sembra che il nome del file ricevute .bom potrebbe essere cambiato quindi potrebbe essere necessario sostituire org.nodejs.pkg.bom con org.nodejs.node.pkg.bom in precedenza. L'essenza è stata aggiornata di conseguenza.

+2

Molto utile. L'unica cosa che aggiungerei è che il nodo 0.4 ish è installato in/usr, non in/usr/local. Quindi "sudo rm/usr/local/$ {i}" deve essere cambiato. Per me ho fatto "sudo rm/$ {i}" dato che i file bom in cui il pathed piaceva: "./usr/bin/node" –

+13

Ho creato un [gist] (https://raw.github.com/gist/ 2697848/uninstall-node.sh) per questo. Usalo a tuo rischio. – nicerobot

+1

risposta solida. quello ha fatto il trucco. – emilebaizel

95

Se è stato installato il nodo dal loro website, provate questo:

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

Questo ha funzionato per me, ma se avete domande, il mio GitHub è 'mnafricano'.

+5

sembrava funzionare per me – Neil

+0

Ho avuto la mia installato in/opt/local/bin – owca

+1

Questo probabilmente è perché si sta utilizzando MacPorts – notthetup

5

Utilizzare npm per disinstallare. L'esecuzione di sudo npm uninstall npm -g rimuove tutti i file. Per sbarazzarsi delle cose estranee, come i nomi dei percorsi bash eseguire questo (da risposta di nicerobot):

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

11

Al fine di eliminare il 'nativo' Node.JS installazione, ho usato il metodo suggerito in precedenti risposte sudo npm uninstall npm -g, con ulteriore sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*.

MA, ho dovuto eliminare anche i seguenti due directory:

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

Solo dopo che ho potuto installare node.js con Homebrew.

+3

non è stato abbastanza per me - ha dovuto anche' '' sudo rm/usr/local/bin/node /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d '' ' –

6

Questa è la lista completa dei comandi che ho usato (Molte grazie per i manifesti di cui sopra):

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

Questo ha funzionato per me! – Simeon

57

seguito post precedente, ecco l'elenco completo ho usato

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

perfetto, funzionante –

+1

GRAZIE. Il mio MySQL ha smesso di funzionare quindi ho solo dovuto rimuoverlo, questo + un riavvio ha fatto il trucco. – mizuki

+0

Ho anche dovuto rimuovere due file aggiuntivi: '/ usr/local/share/doc/node/gdbinit' e'/usr/local/share/systemtap/tapset/node.stp' –

2

Un po 'di convenienza script in espansione su risposte precedenti.

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

salvarlo in un file ed eseguire con:

# bash filename.sh 
4

ho preso la lista di AHRB, mentre aggiunto altri tre file. Ecco l'elenco completo ho usato:

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

Ha funzionato benissimo per me! Salta l'ultima riga per lasciare il nodo disinstallato sul tuo sistema. – Rich

+0

Grazie a @Rich per il commento, ho commentato l'ultima riga. – hailong

0

ho dovuto rimuovere i seguenti file troppo dal brew è lamentato in installare manualmente più tardi, dopo la rimozione di tutti i file.

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

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

e quindi effettuare le seguenti operazioni

brew install node 

brew link node 
+0

Utilizza markup per formattare il codice o i percorsi come monotype. – buhtz

+0

La domanda riguarda la disinstallazione, non l'installazione .. probabilmente l'errore di ortografia dovrebbe essere ..... brew uninstall node – mhasan