Como desinstalar o nodejs instalado no pkg (Mac OS X)?


124

Eu instalei o NodeJS a partir do arquivo pkg no meu Mac. Agora eu preciso desinstalá-lo. Diga-me, por favor, como fazê-lo. Tentei remover arquivos desta lista:

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

Mas o nó ainda está no meu computador.


1
Posso observar que sudo npm uninstall npm -gé muito mais seguro e fácil do que as respostas dadas abaixo?
tomsmeding

17
Mas isso faz node.js não desinstalar
Jake

Respostas:


172

Eu corri:

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 na essência 2697848

Atualize Parece que o recibos .bomnome do arquivo pode ter mudado de modo que você pode precisar de substituir org.nodejs.pkg.bomcom org.nodejs.node.pkg.bomno exemplo acima. A essência foi atualizada de acordo.


2
Muito útil. A única coisa que gostaria de acrescentar é que o nó 0.4 ish está instalado em / usr, não em / usr / local. Portanto, "sudo rm / usr / local / $ {i}" precisa ser alterado. Para mim, eu fiz "sudo rm / $ {i}" já que os arquivos da lista de materiais, onde pathed gostava: "./usr/bin/node"
Dustin Simpson

13
Eu criei uma essência para isso. Use-o por sua conta e risco.
Nicerobot 14/05

5
@nicerobot Obrigado pela essência / script! Provavelmente, deve apontar para outras pessoas que a página principal do script está aqui . Além disso, sendo um n00b a execução de scripts .sh mim, eu tive que $ chmod u+x uninstall-node.she, em seguida, $ ./uninstall-node.shantes que ele trabalhou para mim. :)
mhulse

1
sim funcionou, resposta legal. o que quer que eu tenha sobrado alguma coisa e acabei de terminar rm -rf /Users/me/local/bin/nodeagora com o nó instável agora!
precisa saber é o seguinte

1
@ Gomino ao executar coisas como essa, eu diria de maneira mais geral, você REALMENTE deve verificar seu sistema e o script para entender se ele fará o que deseja. O script foi escrito em versões mais antigas do macOS e Node.js, portanto, pode exigir atualizações.
Nicerobot 19/08/19

116

Se você instalou o Node no site deles , tente o seguinte:

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

Isso funcionou para mim, mas se você tiver alguma dúvida, meu GitHub é 'mnafricano'.


Eu tinha o meu instalado em / opt / local / bin
sasklacz

1
Provavelmente porque você estava usando MacPorts
notthetup

Isso funcionou para mim depois que o script de @ nicerobot (resposta mais alta) falhou, cacofonamente. Desinstalado e reinstalado 0.10.32.
Jeff Dickey

3
e também falta/usr/local/lib/dtrace/node.d
Pascal Belloncle 12/02

2
ausente/var/db/receipts/org.nodejs.*
Wallace Sidhrée 30/04/2015

68

Seguindo as postagens anteriores, aqui está a lista completa que eu usei

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
OBRIGADO. Meu MySQL parou de funcionar, então eu só precisava removê-lo, isso + uma reinicialização fez o truque.
precisa

Eu também tive que remover dois arquivos adicionais: /usr/local/share/doc/node/gdbinite/usr/local/share/systemtap/tapset/node.stp
xji

tenho 2 erros como rm: / usr / / bin local / nó: Nenhum tal lima ou diretório, rm: /usr/local/share/man/man1/node.1: Nenhum tal lima ou diretório
vikramvi

11

Para excluir a instalação 'native' node.js, usei o método sugerido nas respostas anteriores sudo npm uninstall npm -g, com mais sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*.

MAS, eu tive que excluir também os dois diretórios a seguir:

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

Somente depois disso eu pude instalar o node.js com o Homebrew.


3
não foi suficiente para mim - tinha tambémsudo rm /usr/local/bin/node /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
Hertzel Guinness

8

Esta é a lista completa de comandos que usei (muito obrigado pelos pôsteres acima):

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

Use o npm para desinstalar. Apenas correr sudo npm uninstall npm -gremove todos os arquivos. Para se livrar de coisas estranhas como nomes de caminhos bash, execute isto (da resposta de nicerobot):

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


5

Peguei a lista de AhrB, enquanto anexava mais três arquivos. Aqui está a lista completa que eu usei:

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
Trabalhou muito bem para mim! Pule a última linha para deixar o nó desinstalado no seu sistema.
Rich

Obrigado @ Rich pelo comentário, comentei a última linha.
Hailong

3

Um pequeno script de conveniência expandindo as respostas 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}

Salve-o em um arquivo e execute-o com:

# bash filename.sh

0

Eu também precisei remover os seguintes arquivos, pois o brew reclamou na instalação posteriormente, depois de remover manualmente todos os arquivos.

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

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

e faça o seguinte

brew install node 

brew link node

Use a marcação para formatar seu código ou caminhos como monótipo.
buhtz

A pergunta é sobre a desinstalação não instalar .. você provavelmente cometer erros de ortografia que deve ser ..... bebida desinstalação nó
mhasan

0

O seguinte funcionou após tentativa e erro, e esses diretórios não eram graváveis, então eu os removi e finalmente consegui substituir o node & 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
Eu modifiquei sua formatação. Você pode selecionar um bloco de texto e clicar no ícone de chaveta para obter texto monoespaçado. Ou recue cada linha com quatro espaços, se você é masoquista.
Eco Nolan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.