Come si disinstalla nodejs installato da pkg (Mac OS X)?


124

Ho installato NodeJS dal file pkg sul mio Mac. Ora devo disinstallarlo. Dimmi, per favore, come farlo. Ho provato a rimuovere file da questo elenco:

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

Ma il nodo è ancora sul mio computer.


1
Posso notare che sudo npm uninstall npm -gè molto più sicuro e più facile delle risposte fornite di seguito?
tomsmeding

17
Ma questo non disinstalla node.js
Jake

Risposte:


172

Ho corso:

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 sintesi 2697848

Aggiorna Sembra che il .bomnome del file delle ricevute possa essere cambiato, quindi potrebbe essere necessario sostituirlo org.nodejs.pkg.bomcon org.nodejs.node.pkg.bomquanto sopra. L'essenza è stata aggiornata di conseguenza.


2
Molto utile. L'unica cosa che aggiungerei è che il nodo 0.4 ish installato in / usr, non / usr / local. Quindi "sudo rm / usr / local / $ {i}" deve essere modificato. Per me ho fatto "sudo rm / $ {i}" dal momento che i file bom in cui pathed piacevano: "./usr/bin/node"
Dustin Simpson

13
Ho creato un succo per questo. Usalo a tuo rischio.
nicerobot

5
@nicerobot Grazie per l'essenza / script! Probabilmente dovrebbe far notare agli altri che la vera pagina riassuntiva per quella sceneggiatura è qui . Inoltre, essendo un n00b per eseguire io stesso script .sh, dovevo farlo $ chmod u+x uninstall-node.she poi $ ./uninstall-node.shprima che funzionasse per me. :)
mhulse

1
sì ha funzionato, bella risposta. qualunque cosa mi fosse rimasto qualcosa e l'ho appena finito con il rm -rf /Users/me/local/bin/nodenodo instabile ora oscillante!
Bent Cardan

1
@Gomino quando si eseguono cose come questa, lo metterei più in generale, dovresti VERAMENTE controllare il tuo sistema e lo script per capire se farà quello che vuoi. Lo script è stato scritto su versioni precedenti di macOS e Node.js, quindi potrebbe richiedere aggiornamenti.
nicerobot

116

Se hai installato Node dal loro sito web , prova 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 hai domande, il mio GitHub è "mnafricano".


Avevo il mio installato in / opt / local / bin
sasklacz il

1
Quello è probabilmente perché si sta utilizzando MacPorts
notthetup

Questo ha funzionato per me dopo che lo script di @ nicerobot (risposta con un punteggio più alto) è fallito, in modo cacofonico. Disinstallato e reinstallato 0.10.32.
Jeff Dickey

3
e anche mancante/usr/local/lib/dtrace/node.d
Pascal Belloncle

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

68

Dopo i post precedenti, ecco l'elenco completo che ho utilizzato

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
GRAZIE. Il mio MySQL ha smesso di funzionare quindi dovevo solo rimuoverlo, questo + un riavvio ha fatto il trucco.
mizuki

Ho anche dovuto rimuovere due file aggiuntivi: /usr/local/share/doc/node/gdbinite/usr/local/share/systemtap/tapset/node.stp
xji

ha ottenuto 2 errori come rm: / usr / local / bin / node: nessun file o directory di questo tipo, rm: /usr/local/share/man/man1/node.1: nessun file o directory di questo tipo
vikramvi

11

Per eliminare l'installazione "nativa" di node.js, ho utilizzato il metodo suggerito nelle risposte precedenti sudo npm uninstall npm -g, con l'aggiunta di sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*.

MA, ho dovuto eliminare anche le seguenti due directory:

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

Solo dopo ho potuto installare node.js con Homebrew.


3
non era abbastanza per me - doveva anchesudo rm /usr/local/bin/node /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
Hertzel Guinness

8

Questo è l'elenco completo dei comandi che ho usato (Mille grazie ai poster 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

5

Usa npm per disinstallare. La semplice esecuzione sudo npm uninstall npm -grimuove tutti i file. Per sbarazzarti di cose estranee come i nomi di percorso bash, esegui questo (dalla risposta di nicerobot):

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


5

Ho preso l'elenco di AhrB, aggiungendo altri tre file. Ecco l'elenco completo che ho utilizzato:

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
Ha funzionato alla grande per me! Salta l'ultima riga per lasciare il nodo disinstallato sul tuo sistema.
Rich

Grazie @Rich per il commento, ho commentato l'ultima riga.
grandine

3

Un piccolo script di convenienza che si espande sulle 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}

Salvalo su file ed esegui con:

# bash filename.sh

0

Ho dovuto rimuovere anche i seguenti file poiché brew si è lamentato dell'installazione successiva dopo aver rimosso manualmente tutti i file.

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

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

e poi procedi come segue

brew install node 

brew link node

Usa il markup per formattare il codice o i percorsi come monotipo.
buhtz

La domanda riguarda la disinstallazione e non l'installazione .. probabilmente l'errore ortografico dovrebbe essere ..... brew uninstall node
mhasan

0

Quanto segue ha funzionato dopo tentativi ed errori, e queste directory non erano scrivibili, quindi le ho rimosse e alla fine sono stato in grado di sostituire il nodo e 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
Ho modificato la tua formattazione. È possibile selezionare un blocco di testo e fare clic sull'icona della parentesi graffa per ottenere il testo a spaziatura fissa. Oppure rientra ogni riga con quattro spazi se sei un masochista.
Echo Nolan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.