Fedora

錯誤:事務檢查與 depsolve… php 依賴項

  • August 9, 2020

我正在嘗試執行sudo dnf system-upgrade download --refresh --releasever=30 --allowerasing(從fedora 25)並遇到以下錯誤。

Running transaction check
Error: transaction check vs depsolve:
(php-composer(symfony/expression-language) >= 2.8 with php-composer(symfony/expression-language) < 5) is needed by php-phpmyadmin-motranslator-4.0-4.fc30.noarch
(gcc >= 9 with gcc < 10) is needed by annobin-8.71-4.fc30.x86_64
(php-composer(symfony/translation) >= 2.7.1 with php-composer(symfony/translation) < 4.0) is needed by php-twig-extensions-1.5.4-4.fc30.noarch
(php-composer(twig/twig) >= 1.27 with php-composer(twig/twig) < 3.0) is needed by php-twig-extensions-1.5.4-4.fc30.noarch
(php-composer(symfony/polyfill-mbstring) >= 1.3 with php-composer(symfony/polyfill-mbstring) < 2) is needed by php-twig2-2.12.5-1.fc30.noarch
(php-composer(composer/ca-bundle) >= 1.0 with php-composer(composer/ca-bundle) < 2) is needed by composer-1.10.6-1.fc30.noarch
(php-composer(composer/semver) >= 1.0 with php-composer(composer/semver) < 2) is needed by composer-1.10.6-1.fc30.noarch
(php-composer(composer/spdx-licenses) >= 1.2 with php-composer(composer/spdx-licenses) < 2) is needed by composer-1.10.6-1.fc30.noarch
(php-composer(composer/xdebug-handler) >= 1.1 with php-composer(composer/xdebug-handler) < 2) is needed by composer-1.10.6-1.fc30.noarch
(php-composer(psr/log) >= 1.0 with php-composer(psr/log) < 2) is needed by composer-1.10.6-1.fc30.noarch
(php-composer(seld/jsonlint) >= 1.4 with php-composer(seld/jsonlint) < 2) is needed by composer-1.10.6-1.fc30.noarch
(php-composer(seld/phar-utils) >= 1.0 with php-composer(seld/phar-utils) < 2) is needed by composer-1.10.6-1.fc30.noarch
(php-composer(psr/log) >= 1.0.1 with php-composer(psr/log) < 2.0) is needed by php-symfony-console-2.8.52-1.fc30.noarch
(php-composer(psr/log) >= 1.0.1 with php-composer(psr/log) < 2.0) is needed by php-symfony-http-kernel-2.8.52-1.fc30.noarch
(php-composer(symfony/polyfill-php56) >= 1.8 with php-composer(symfony/polyfill-php56) < 2.0) is needed by php-symfony-http-kernel-2.8.52-1.fc30.noarch
(php-composer(psr/log) >= 1.0.1 with php-composer(psr/log) < 2.0) is needed by php-symfony-debug-2.8.52-1.fc30.noarch
(php-composer(symfony/polyfill-php54) >= 1.8 with php-composer(symfony/polyfill-php54) < 2.0) is needed by php-symfony-http-foundation-2.8.52-1.fc30.noarch
(php-composer(symfony/polyfill-php55) >= 1.8 with php-composer(symfony/polyfill-php55) < 2.0) is needed by php-symfony-http-foundation-2.8.52-1.fc30.noarch
(php-composer(psr/log) >= 1.0 with php-composer(psr/log) < 2) is needed by php-composer-xdebug-handler-1.4.1-1.fc30.noarch
(php-composer(dasprid/enum) >= 1.0 with php-composer(dasprid/enum) < 2) is needed by php-bacon-qr-code2-2.0.0-1.fc30.noarch
(php-composer(paragonie/constant_time_encoding) >= 1.0 with php-composer(paragonie/constant_time_encoding) < 3) is needed by php-pragmarx-google2fa5-5.0.0-1.fc30.noarch
(php-composer(paragonie/random_compat) >= 2.0 with php-composer(paragonie/random_compat) < 3) is needed by php-pragmarx-google2fa5-5.0.0-1.fc30.noarch
(php-composer(google/recaptcha) >= 1.1 with php-composer(google/recaptcha) < 2) is needed by phpMyAdmin-4.9.5-1.fc30.noarch
(php-composer(phpmyadmin/motranslator) >= 4.0 with php-composer(phpmyadmin/motranslator) < 5) is needed by phpMyAdmin-4.9.5-1.fc30.noarch
(php-composer(phpmyadmin/shapefile) >= 2.0 with php-composer(phpmyadmin/shapefile) < 3) is needed by phpMyAdmin-4.9.5-1.fc30.noarch
(php-composer(phpmyadmin/sql-parser) >= 4.3.2 with php-composer(phpmyadmin/sql-parser) < 5) is needed by phpMyAdmin-4.9.5-1.fc30.noarch
(php-composer(phpseclib/phpseclib) >= 2.0.9 with php-composer(phpseclib/phpseclib) < 3) is needed by phpMyAdmin-4.9.5-1.fc30.noarch
(php-composer(psr/container) >= 1.0 with php-composer(psr/container) < 2) is needed by phpMyAdmin-4.9.5-1.fc30.noarch
(php-composer(symfony/expression-language) >= 2.8 with php-composer(symfony/expression-language) < 4) is needed by phpMyAdmin-4.9.5-1.fc30.noarch
(php-composer(symfony/polyfill-mbstring) >= 1.3 with php-composer(symfony/polyfill-mbstring) < 2) is needed by phpMyAdmin-4.9.5-1.fc30.noarch
(php-composer(twig/extensions) >= 1.5.1 with php-composer(twig/extensions) < 2) is needed by phpMyAdmin-4.9.5-1.fc30.noarch
(php-composer(twig/twig) >= 1.34 with php-composer(twig/twig) < 3) is needed by phpMyAdmin-4.9.5-1.fc30.noarch
To diagnose the problem, try running: 'rpm -Va --nofiles --nodigest'.
You probably have corrupted RPMDB, running 'rpm --rebuilddb' might fix the issue.
Download complete! Use 'dnf system-upgrade reboot' to start the upgrade.
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.

TBH 我真的不在乎 PHP。如果升級完成後不能只dnf install編輯所有內容,我會感到驚訝,而且它不像列出核心系統包,所以系統應該很高興沒有它們。有--i-dont-care-just-do-it選擇嗎?(超過--allowerasing

如果不是,我會很樂意解除安裝列出的軟體包,這樣 dnf 就不會嘗試升級它們並慘遭失敗。我試過sudo dnf remove <a bunch of these>但沒有任何效果:

No match for argument: php-phpmyadmin-motranslator
No match for argument: annobin
No match for argument: php-twig-extensions
No match for argument: php-twig2
No match for argument: composer
No match for argument: php-symfony*
No match for argument: php-composer*

我還能嘗試什麼?


編輯

我認為這些軟體包不存在的原因是它們被提議替換某些現有軟體包。DNF 應該列印源包並解釋它是如何進入這種狀態的。否則,這只是一個完全的猜謎遊戲。

這可以工作:

dnf remove '*php*'

引用自:https://unix.stackexchange.com/questions/603565