Как удалить 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