
Я использую Macports 1.7.1 и мне не нужна последняя версия порта, так как она несовместима с некоторыми другими пакетами, которые я хочу собрать из исходного кода.
Как принудительно установить определенную версию пакета с помощью инструмента «port» macports?
решение1
Старая версия вашего программного обеспечения, вероятно, все еще доступна. Проверьте это, запустив:
port installed PACKAGE
где PACKAGE — это то, что вы хотите понизить. Это выведет список «полных» имен соответствующих портов. Вы увидите активный порт и старый, неактивный порт. Вы можете переключить их, выполнив что-то вроде этой процедуры:
port deactivate PACKAGE@CURRENT_REVISION+VARIANTS
port activate PACKAKGE@OLD_REVISION+VARIANTS
решение2
Я не думаю, что вы можете использовать более старую версию в MacPorts. Список сборки поддерживается и, похоже, не содержит много предыдущих версий, за исключением нескольких пакетов, таких как mysql. Так что, если вы это сделаете port search package
, то результаты, которые он покажет, — это все, что он может сделать. В случае с mysql я вижу, что есть mysql5, 4 и 3. Если бы я хотел 4, я бы просто сделал sudo port install mysql4
.
Если вашего пакета нет в списке, возможно, вам придется собрать его с нуля.
решение3
Вы можете создать дополнительный локальный репозиторий portfile для переопределения некоторых пакетов. Я использую это, чтобы заставить MacPorts использовать старую версию пакета 'screen' (есть открытая проблема с ошибками в более новых версиях).
Подробная информация о настройке приведена в руководстве MacPorts: http://guide.macports.org/#development.local-repositories