¿Cómo desinstalo nodejs instalado de pkg (Mac OS X)?

124

Instalé NodeJS desde el archivo pkg en mi Mac. Ahora necesito desinstalarlo. Dime por favor cómo hacerlo. Traté de eliminar archivos de esta lista:

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

Pero el nodo todavía está en mi computadora.

Varvara Stepanova
fuente
1
¿Puedo notar que sudo npm uninstall npm -ges mucho más seguro y fácil que las respuestas dadas a continuación?
tomsmeding
17
Pero eso no desinstala node.js
Jake

Respuestas:

172

Corrí:

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

Codificado en esencia 2697848

Actualizar Parece que la recibos .bomnombre de archivo puede haber cambiado por lo que puede que tenga que reemplazar org.nodejs.pkg.bomcon org.nodejs.node.pkg.bomel anterior. La esencia se ha actualizado en consecuencia.

nicerobot
fuente
2
Muy útil. Lo único que agregaría es que el nodo 0.4 ish está instalado en / usr, no / usr / local. Entonces "sudo rm / usr / local / $ {i}" necesita ser cambiado. Para mí, hice "sudo rm / $ {i}", ya que los archivos de bom que se bordeaban me gustaban: "./usr/bin/node"
Dustin Simpson,
13
Creé una esencia para ello. Úselo bajo su propio riesgo.
nicerobot
55
@nicerobot Gracias por la esencia / guión! Probablemente debería señalar a los demás que la página principal de ese script está aquí . Además, al ser un n00b para ejecutar scripts .sh, tuve que hacerlo $ chmod u+x uninstall-node.shy luego $ ./uninstall-node.shfuncionó para mí. :)
mhulse
1
sí funcionó, buena respuesta. ¡Lo que sea que me quedaba algo y acabé de terminar con el rm -rf /Users/me/local/bin/nodenodo oscilante inestable!
Doblado Cardan
1
@Gomino cuando ejecuta cosas como esta, lo diría de manera más general, REALMENTE debería verificar su sistema y el script para comprender si va a hacer lo que quiere. El script se escribió en versiones anteriores de macOS y Node.js, por lo que puede requerir actualizaciones.
nicerobot
116

Si instaló Node desde su sitio web , intente esto:

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

Esto funcionó para mí, pero si tiene alguna pregunta, mi GitHub es 'mnafricano'.

Afreekano
fuente
Tenía el mío instalado en / opt / local / bin
sasklacz
1
Probablemente sea porque estaba usando MacPorts
hasta el
Esto funcionó para mí después de que el guión de @ nicerobot (respuesta de mayor calificación) fallara, cacofónicamente. Desinstalado y reinstalado 0.10.32.
Jeff Dickey
3
y también desaparecido/usr/local/lib/dtrace/node.d
Pascal Belloncle
2
desaparecido/var/db/receipts/org.nodejs.*
Wallace Sidhrée
68

Siguiendo publicaciones anteriores, aquí está la lista completa que utilicé

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
fuente
1
GRACIAS. Mi MySQL dejó de funcionar, así que solo necesitaba eliminarlo, esto + un reinicio funcionó.
mizuki
También tuve que eliminar dos archivos adicionales: /usr/local/share/doc/node/gdbinity/usr/local/share/systemtap/tapset/node.stp
xji
obtuve 2 errores como rm: / usr / local / bin / node: No
existe
11

Para eliminar la instalación 'nativa' de node.js, he utilizado el método sugerido en respuestas anteriores sudo npm uninstall npm -g, con más sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*.

PERO, tuve que eliminar también los siguientes dos directorios:

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

Solo después de eso pude instalar node.js con Homebrew.

t0r0X
fuente
3
no fue suficiente para mí, también tuve que hacerlosudo rm /usr/local/bin/node /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
Hertzel Guinness
8

Esta es la lista completa de comandos que utilicé (Muchas gracias a los carteles anteriores):

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
fuente
5

Use npm para desinstalar. Simplemente ejecutar sudo npm uninstall npm -gelimina todos los archivos. Para deshacerse de cosas extrañas como nombres de ruta bash, ejecute esto (de la respuesta de nicerobot):

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

alexbhandari
fuente
5

Tomé la lista de AhrB, mientras agregué tres archivos más. Aquí está la lista completa que he usado:

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
granizo
fuente
1
¡Funcionó muy bien para mí! Omita la última línea para dejar el nodo desinstalado en su sistema.
Rico
Gracias @Rich por el comentario, he comentado la última línea.
granizo
3

Un pequeño script de conveniencia que se expande en respuestas anteriores.

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

Guárdelo en un archivo y ejecútelo con:

# bash filename.sh
Misha Tavkhelidze
fuente
0

También tuve que eliminar los siguientes archivos, ya que brew se quejó en la instalación más tarde después de eliminar manualmente todos los archivos.

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

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

y luego haz lo siguiente

brew install node 

brew link node
Srini 7
fuente
Use el marcado para formatear su código o pathes como monotipo.
buhtz
La pregunta es acerca de la desinstalación no instalar .. es probable que escribir mal que debe ser ..... cerveza desinstalación nodo
mhasan
0

Lo siguiente funcionó después de la prueba y error, y estos directorios no se podían escribir, así que los eliminé y finalmente pude reemplazar el nodo y 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
Thomas Peters
fuente
1
Modifiqué tu formato. Puede seleccionar un bloque de texto y hacer clic en el icono de llaves para obtener texto monoespacial. O sangra cada línea con cuatro espacios si eres masoquista.
Echo Nolan