Как вы удаляете MacPorts и все пакеты, которые он установил?

39

Я установил MacPorts на Mac OS X Lion и хочу удалить его. Там не должно быть больше следов MacPorts?

Есть ли способ сделать это?

user893730
источник

Ответы:

35

Из руководства по удалению MacPorts работает следующим образом. Вам необходимо сначала удалить все порты:

sudo port -fp uninstall --follow-dependents installed

Если portне найдено, попробуйте /opt/local/bin/portвместо этого.

Кроме того, чтобы удалить остатки MacPorts, вам нужно будет удалить следующие файлы с помощью этой единственной команды (построчно скопировать и вставить в терминал):

sudo rm -rf /opt/local 
sudo rm -rf /Applications/DarwinPorts 
sudo rm -rf /Applications/MacPorts 
sudo rm -rf /Library/LaunchDaemons/org.macports.* 
sudo rm -rf /Library/Receipts/DarwinPorts*.pkg 
sudo rm -rf /Library/Receipts/MacPorts*.pkg 
sudo rm -rf /Library/StartupItems/DarwinPortsStartup 
sudo rm -rf /Library/Tcl/darwinports1.0 
sudo rm -rf /Library/Tcl/macports1.0 
sudo rm -rf ~/.macports

Предупреждение: не запускайте sudoкоманду, особенно rm -rfодну, если вы не знаете, что она делает, и вводите каждую строку отдельно, если не уверены.

Обратите внимание, что MacPorts создает свою собственную группу пользователей и пользователей . Их тоже можно удалить. Смотрите этот ответ на Ask Different для получения дополнительной информации.

Наконец, каждый порт, установленный через MacPorts, может снова создать своего собственного пользователя и группу, поэтому вам, возможно, придется выполнить ручную очистку.

slhck
источник
Я сделал это и: $ brew doctorдает:Warning: Setting DYLD_LIBRARY_PATH can break dynamic linking. You should probably unset it.
Девин Г Род
Интересный. Вы когда-нибудь устанавливали это? Например, в профиле bash, bashrc и т. Д.?
Slhck
Нет, установка совершенно новой ОС тоже, я думаю, это то, что сделал macports. Однако echo $ DYLD_LIBRARY_PATH выкладывает пути к двоичному файлу mysql
Девин Дж Род
1
@ Чет Если ты не положил что-то там, нет. /opt/даже не существует в установке по умолчанию OS X, так что вы можете безопасно удалить его.
Slhck
1
Обратите внимание, что macports также создает своих собственных пользователей и группы (см. Trac.macports.org/ticket/31013 ), и их удаление описано в apple.stackexchange.com/questions/317576/… . Также обратите внимание, что установленные порты могут сами создавать новых пользователей и группы ...
Anon
7

Это руководство помогло мне удалить MacPorts: http://bitboxer.de/2010/06/03/moving-from-macports-to-homebrew/

Вот сводка (в случае, если ссылка не работает): во-первых, удалите MacPorts:

sudo port -f uninstall installed

Второй шаг: удалите все, что осталось от MacPorts (сначала проверьте MySQL и другие вещи в / opt / local):

sudo rm -rf /opt/local
sudo rm -rf /Applications/DarwinPorts
sudo rm -rf /Applications/MacPorts
sudo rm -rf /Library/LaunchDaemons/org.macports.*
sudo rm -rf /Library/Receipts/DarwinPorts*.pkg
sudo rm -rf /Library/Receipts/MacPorts*.pkg
sudo rm -rf /Library/StartupItems/DarwinPortsStartup
sudo rm -rf /Library/Tcl/darwinports1.0
sudo rm -rf /Library/Tcl/macports1.0
sudo rm -rf ~/.macports

После этого вы должны удалить / opt / local / bin из вашего $ PATH

Quentin
источник
3
Можете ли вы обобщить, что находится по ссылке в вашем ответе на случай, если ссылка не работает?
Jonsca
2
Куда бы я ни посмотрел, везде есть «если у вас есть рабочая команда порта, тогда используйте sudo port blah». Что если, как и в моем случае, порт не работает?
Фрумберт
Помогает ли это: stackoverflow.com/questions/9694395/sudo-port-command-not-found ?
Квентин
Разделение длинной команды sudo rm -rf на несколько коротких команд работает очень хорошо для меня.
Кевин Тонг
@frumbert Я знаю, что прошло 2 года с момента вашего комментария. Однако для дальнейшего использования позвольте мне рассказать мою историю. Macports работал на моей системе OSX Yosemite, которую я обновил до El Capitan. Затем я решил полностью удалить macports. Для этого я переустанавливал macports для El Capitan, затем следовал тому, что сказано в ответе выше. Надеюсь, что это может кому-то помочь ;-)
Lashae