升级至Fedora 27时出现事务检查与依赖解析错误求助
解决Fedora 27升级时phpMyAdmin的依赖解析错误
我之前升级Fedora 27的时候也碰到过完全一样的问题,折腾了好一阵才搞定,给你几个实用的解决方案,按顺序尝试就行:
方案1:刷新DNF缓存后重新尝试升级
有时候仓库缓存过期会导致依赖匹配异常,先清理缓存再同步最新的仓库信息:
sudo dnf clean all sudo dnf makecache sudo dnf upgrade
执行完这几步后再看事务检查能不能通过,大部分情况下这个操作就能解决问题。
方案2:手动安装指定版本的Composer依赖
如果方案1没用,说明系统仓库里没有phpMyAdmin需要的特定版本的Composer包,我们可以直接用Composer安装对应版本:
- 先确保系统安装了Composer:
sudo dnf install composer
- 全局安装每个需要的依赖包(版本严格匹配要求):
composer global require google/recaptcha:^1.1 composer global require phpmyadmin/motranslator:^4.0 composer global require phpmyadmin/shapefile:^2.0 composer global require phpmyadmin/sql-parser:^4.0
- 把安装好的依赖链接到PHP的全局包含目录,让phpMyAdmin能找到它们:
sudo ln -s ~/.config/composer/vendor/google/recaptcha /usr/share/php/google sudo ln -s ~/.config/composer/vendor/phpmyadmin/motranslator /usr/share/php/phpmyadmin sudo ln -s ~/.config/composer/vendor/phpmyadmin/shapefile /usr/share/php/phpmyadmin sudo ln -s ~/.config/composer/vendor/phpmyadmin/sql-parser /usr/share/php/phpmyadmin
完成后再重新执行升级命令,应该就能通过依赖检查了。
方案3:临时跳过phpMyAdmin升级(应急用)
如果暂时不需要升级phpMyAdmin,可以用--exclude参数跳过这个包的升级,先完成系统其他部分的升级:
sudo dnf upgrade --exclude=phpMyAdmin
之后可以定期执行dnf check-update,等仓库里的依赖包更新到符合要求的版本后,再单独升级phpMyAdmin。
方案4:手动部署phpMyAdmin源码包
如果上面的方法都不奏效,也可以绕过系统包管理器,直接手动部署:
- 下载phpMyAdmin 4.7.8版本的源码包(注意对应你系统的需求)
- 解压到Web服务器的根目录,比如
/var/www/html/phpmyadmin - 复制并修改配置文件
config.sample.inc.php为config.inc.php,设置好数据库连接信息 - 确保Web服务器(比如Apache或Nginx)有该目录的访问权限
这种方式不受系统包依赖的限制,适合对Web服务部署比较熟悉的用户。
内容的提问来源于stack exchange,提问作者user8122697
相关产品推荐
相关产品推荐

