Comment désinstaller nodejs installé à partir de pkg (Mac OS X)?


124

J'ai installé NodeJS à partir du fichier pkg sur mon Mac. Maintenant, je dois le désinstaller. Dites-moi s'il vous plaît comment faire. J'ai essayé de supprimer des fichiers de cette liste:

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

Mais le nœud est toujours sur mon ordinateur.


1
Puis-je noter que sudo npm uninstall npm -gc'est beaucoup plus sûr et plus facile que les réponses données ci-dessous?
— tomsmeding le

17
Mais cela ne désinstalle pas node.js
— Jake

Réponses:


172

L'Iran:

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

Codé dans le gist 2697848

Mise à jour Il semble que le .bomnom du fichier des reçus ait changé, vous devrez peut-être le remplacer org.nodejs.pkg.bompar org.nodejs.node.pkg.bomce qui précède. L'essentiel a été mis à jour en conséquence.


2
Très utile. La seule chose que j'ajouterais est que le nœud 0.4 ish est installé dans / usr, pas dans / usr / local. Donc "sudo rm / usr / local / $ {i}" doit être changé. Pour moi, j'ai fait "sudo rm / $ {i}" depuis les fichiers de nomenclature où le chemin était aimé: "./usr/bin/node"
— Dustin Simpson

13
J'ai créé l' essentiel pour cela. Utilisez à vos risques et périls.
— nicerobot

5
@nicerobot Merci pour l'essentiel / script! Doit probablement signaler aux autres que la page principale de ce script est ici . De plus, étant un n00b pour exécuter moi-même des scripts .sh, je devais le faire $ chmod u+x uninstall-node.shet $ ./uninstall-node.shavant que cela ne fonctionne pour moi. :)
— mhulse

1
oui cela a fonctionné, réponse cool. tout ce qu'il me restait un petit quelque chose et je viens de terminer tout de suite avec un rm -rf /Users/me/local/bin/nodenœud à bascule instable!
— Bent Cardan

1
@Gomino lors de l'exécution de choses comme celle-ci, je le dirais plus généralement, vous devriez VRAIMENT vérifier votre système et le script pour comprendre s'il va faire ce que vous voulez. Le script a été écrit sur les anciennes versions de macOS et Node.js et peut donc nécessiter des mises à jour.
— nicerobot

116

Si vous avez installé Node depuis leur site Web , essayez ceci:

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

Cela a fonctionné pour moi, mais si vous avez des questions, mon GitHub est «mnafricano».


J'ai eu le mien installé dans / opt / local / bin
— sasklacz

1
C'est probablement parce que vous utilisiez MacPorts
— notthetup

Cela a fonctionné pour moi après l'échec du script de @ nicerobot (réponse mieux notée), cacophonie. Désinstallé et réinstallé 0.10.32.
— Jeff Dickey

3
et aussi absent/usr/local/lib/dtrace/node.d
— Pascal Belloncle

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

68

Suite aux articles précédents, voici la liste complète que j'ai utilisée

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
MERCI. MySQL a cessé de fonctionner alors j'avais juste besoin de le supprimer, ceci + un redémarrage a fait l'affaire.
— mizuki

J'ai également dû supprimer deux fichiers supplémentaires: /usr/local/share/doc/node/gdbinitet/usr/local/share/systemtap/tapset/node.stp
— xji

obtenu 2 erreurs comme rm: / usr / local / bin / node: aucun fichier ou répertoire de ce type, rm: /usr/local/share/man/man1/node.1: aucun fichier ou répertoire de ce type
— vikramvi

11

Afin de supprimer l'installation node.js 'native', j'ai utilisé la méthode suggérée dans les réponses précédentes sudo npm uninstall npm -g, avec des fichiers supplémentaires sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*.

MAIS, j'ai dû également supprimer les deux répertoires suivants:

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

Ce n'est qu'après cela que j'ai pu installer node.js avec Homebrew.


3
n'était pas assez pour moi - il fallait aussisudo rm /usr/local/bin/node /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
— Hertzel Guinness

8

Voici la liste complète des commandes que j'ai utilisées (merci beaucoup aux affiches ci-dessus):

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

Utilisez npm pour désinstaller. Le simple fait de courir sudo npm uninstall npm -gsupprime tous les fichiers. Pour vous débarrasser des éléments superflus tels que les chemins d'accès bash, exécutez ceci (à partir de la réponse de nicerobot):

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


5

J'ai pris la liste d'AhrB, tout en ajoutant trois autres fichiers. Voici la liste complète que j'ai utilisée:

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
A très bien fonctionné pour moi! Ignorez la dernière ligne pour laisser le nœud désinstallé sur votre système.
— Riche

Merci @ Rich pour le commentaire, j'ai commenté la dernière ligne.
— hailong

3

Un petit script de commodité développant les réponses précédentes.

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

Enregistrez-le dans un fichier et exécutez-le avec:

# bash filename.sh

0

J'ai également dû supprimer les fichiers suivants depuis que Brew s'est plaint lors de l'installation plus tard après avoir supprimé manuellement tous les fichiers.

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

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

puis procédez comme suit

brew install node 

brew link node

Utilisez le balisage pour formater votre code ou vos chemins en monotype.
— buhtz

La question concerne la désinstallation et non l'installation .. vous avez probablement mal orthographié cela devrait être ..... nœud de désinstallation de brassage
— mhasan

0

Ce qui suit a fonctionné après essais et erreurs, et ces répertoires n'étaient pas inscriptibles, je les ai donc supprimés et j'ai finalement pu remplacer 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
J'ai modifié votre mise en forme. Vous pouvez sélectionner un bloc de texte et cliquer sur l'icône d'accolade pour obtenir du texte à espacement fixe. Ou indentez chaque ligne de quatre espaces si vous êtes masochiste.
— Echo Nolan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.