FreeBSD pkg_add: warning: package php5-pcre-5.2.6_2 requires php5-5.2.8, but php5-pcre-5.2.6_2 is installed
时间:2019-11-20 08:54:05 来源:igfitidea点击:
问题
使用portupgrade命令升级php时,报错:
Stop in /usr/ports/lang/php5. ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade.42275.0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=php5-pcre-5.2.6_2 UPGRADE_PORT_VER=5.2.6_2 make reinstall —> Restoring the old version pkg_add: warning: package ‘php5-pcre-5.2.6_2’ requires ‘php5-5.2.8’, but ‘php5-pcre-5.2.6_2’ is installed ** Fix the installation problem and try again.
如何升级php5-pcre?
解决方案
从php 5.2.7开始,pcre扩展与核心php5软件包一起分发,不再作为独立模块。
请按照以下步骤更新安装:
# pkg_delete -f php5-pcre-5.2.6 # pkgdb -F # portupgrade php5-pcre
如果使用的是portmaster,请执行:
# pkg_delete -f php5-pcre\* # portmaster php5\*
如果使用的是pecl端口,则可能需要对其进行强制更新,执行:
# portupgrade -f pecl\*
或者
# portmaster pecl\*
如果有pecl-zip,pecl-json和pecl-hash扩展,则需要用捆绑的php5替换它们,执行
# portupgrade -o archivers/php5-zip archivers/pecl-zip # portupgrade -o devel/php5-json devel/pecl-json # portupgrade -o security/php5-hash security/pecl-hash
或者
# portmaster -o archivers/php5-zip archivers/pecl-zip # portmaster -o devel/php5-json devel/pecl-json # portmaster -o security/php5-hash security/pecl-hash
最后,在本地构建INDEX,并在php更新提交后尝试构建它,
需要在更新lang/php5之后重新构建它:
# cd /usr/ports # make index