Как удалить сразу все неиспользуемые версии пакета macports


32

При обслуживании пакетов macports я предпочитаю удалять старые пакеты, когда заменяю их новыми. Однако со временем, когда пакеты обновляются, вы сталкиваетесь с такими проблемами, как:

$ sudo port uninstall -f postgresql83
--->  The following versions of postgresql83 are currently installed:
--->    postgresql83 @8.3.3_0
--->    postgresql83 @8.3.7_0
--->    postgresql83 @8.3.8_1 (active)
Error: port uninstall failed: Registry error: Please specify the full version as recorded in the port registry.

Существует ли команда macports для удаления всех версий пакета одновременно?

Ответы:


38

Если вы хотите удалить все старые (неактивные) версии, попробуйте это:

port -y -u uninstall
  # if you like what you see, change “port -y” to “sudo port”

Если вы хотите удалить все версии (например, неактивные и активные) postgresql83порта (например) , попробуйте следующее:

port -y uninstall installed and postgresql83
  # if you like what you see, change “port -y” to “sudo port”

Это сработало для меня, слишком плохой порт не обрабатывает обновления зависимостей для postgres84 автоматически.
Дана Саня

2
@ Dana the Sane Если вы имеете в виду автоматическое удаление пакетов, которые зависят от postgres84, вы можете использовать аргумент --follow-dependents.
Ник

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

Второй подход отлично работает для меня, но первый один с , -uкажется, дает такое же предупреждение о нескольких версиях устанавливается , как если бы я не использовал -uвообще
матовые б

Эти команды не работают (на Mac OSX Mavericks).
bzero

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.