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. Вы прошли через эти шаги в первую очередь?

Другие вопросы по тегам