Как удалить nodejs, установленный из pkg (Mac OS X)?

Я установил NodeJS из файла pkg на моем Mac. Теперь мне нужно удалить его. Скажите, пожалуйста, как это сделать. Я попытался удалить файлы из этого списка:

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

Но node все еще находится на моем компьютере.

Ответ 1

Я побежал:

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

закодирован в gist 2697848

Update Похоже, что имя файла квитанций .bom может быть изменено, поэтому вам может потребоваться заменить org.nodejs.pkg.bom на org.nodejs.node.pkg.bom в приведенном выше. Соответственно обновлено содержание.

Ответ 2

Если вы установили Node со своего веб-сайта , попробуйте следующее:

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

Это сработало для меня, но если у вас есть какие-то вопросы, мой GitHub - это "mnafricano".

Ответ 3

Следуя предыдущим сообщениям, вот полный список, который я использовал

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

Ответ 4

Чтобы удалить "native" node.js, я использовал метод, предложенный в предыдущих ответах 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

Только после этого я смогу установить node.js с помощью Homebrew.

Ответ 5

Это полный список команд, которые я использовал (Большое спасибо плакатам выше):

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

Ответ 6

Используйте npm для удаления. Просто запуск sudo npm uninstall npm -g удаляет все файлы. Чтобы избавиться от посторонних вещей, таких как bash pathnames, запустите это (из ответа nicerobot):

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

Ответ 7

Я взял список AhrB, добавив еще три файла. Вот полный список, который я использовал:

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

Ответ 8

Небольшое удобство script, расширяющее предыдущие ответы.

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

Сохраните его в файл и запустите с помощью:

# bash filename.sh

Ответ 9

Мне пришлось удалить следующие файлы, так как brew жаловался на установку позже после удаления всех файлов вручную.

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

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

а затем выполните следующие действия

brew install node 

brew link node