freebsd не распознает, что php был установлен через порты
У меня php 5.2.12 установлен на FreeBSD 8.0-STABLE. Он был установлен из портов, и я пытаюсь обновить его до 5.3.2.
Однако по какой-то причине моя система не распознает, что php был установлен через порты. Когда я запускаю "pkg_version", список не включает php, но включает все расширения, которые я установил.
Я даже пытался сделать "make deinstall" на "/usr/ports/lang/php5", он сказал мне, что порт был деинсталлирован, но php по-прежнему работает правильно, т.е. работает "php -v"
Любые идеи о том, как этот порт де-подключен из системы портов? и как я могу заставить систему портов распознавать, что на ней установлен php?
РЕДАКТИРОВАТЬ: Когда я запускаю "сделать деинсталлировать" снова и снова, я всегда получаю один и тот же ответ
Деинсталляция для lang / php5
Я никогда не получаю
php52 не установлен, пропуск
это то, что я ожидаю после первого запуска "make deinstall"
3 ответа
Я не уверен, почему, но ответ был восстановить все порты
portupgrade -a
после запуска этого pkg_version теперь понимает, что php установлен.
К счастью, это не рабочая машина, так что это не было проблемой, если я произвожу это на производственной машине, думаю, мне понадобится лучший ответ, поэтому, если у кого-то есть объяснение, почему portupgrade -a мог бы исправить мою проблему, которая бы быть очень полезным
Если вы находитесь в lang/php5, то вы удаляете PHP 5.3; вам нужно быть в lang/php52 для удаления PHP 5.2
Грубо говоря, PHP 5.3.2 был только недавно представлен в дереве портов FreeBSD, и для правильной установки 5.3.2 необходимо сначала обновить дерево локальных портов с помощью csup или cvsup. Вы прошли через эти шаги в первую очередь?