Назад | Перейти на главную страницу

Как заставить CentOS yum использовать более позднюю версию уже установленной зависимости пакета (php-common как зависимость от php-xml)

Похоже, что у меня есть версия php-common-5.2.10-1.el5.centos новее, чем тот, который запрашивается как зависимость php-xml когда я пытаюсь установить php-xml с помощью yum install php-xml. Запрошенный зависимый пакет: php-common = 5.1.6-34.el5_8 как показано rpm -qa |grep php.

Итак, как мне заставить php-xml использовать более позднюю версию, которая у меня уже есть?

(Кажется, это основная причина проблемы в соответствующем вопросе SF: Установка php-xml жалуется на зависимость php-common, но она уже установлена ​​(CentOS) )

Обновить

вывод:

(по запросу @ewwhite) выглядит следующим образом:

[root@dtsrvishvt2 ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirroring.pulsant.co.uk
 * extras: centos.mirroring.pulsant.co.uk
 * updates: centos.mirroring.pulsant.co.uk
Reducing CentOS-5 Testing to included packages only
Finished
repo id                          repo name                                status
base                             CentOS-5 - Base                          2,725
c5-testing                       CentOS-5 Testing                          0+71
extras                           CentOS-5 - Extras                          280
updates                          CentOS-5 - Updates                         379
repolist: 3,384
[root@dtsrvishvt2 ~]#





[root@dtsrvishvt2 ~]# rpm -qi php-common
Name        : php-common                   Relocations: (not relocatable)
Version     : 5.2.10                            Vendor: CentOS
Release     : 1.el5.centos                  Build Date: Fri 13 Nov 2009 04:36:29 PM GMT
Install Date: Tue 13 Jul 2010 11:33:44 AM GMT      Build Host: builder10.centos.org
Group       : Development/Languages         Source RPM: php-5.2.10-1.el5.centos.src.rpm
Size        : 668395                           License: PHP
Signature   : DSA/SHA1, Fri 22 Jan 2010 03:22:25 PM GMT, Key ID 5c37c0b17203f491
URL         : http://www.php.net/
Summary     : Common files for PHP
Description :
The php-common package contains files used by both the php
package and the php-cli package.
[root@dtsrvishvt2 ~]#

Не могли бы вы предоставить вывод следующих команд?

  • yum repolist
  • rpm -qi php-common

Текущая версия php-common для вашей системы CentOS 5: php-common-5.1.6-34.el5_8. Проблема с зависимостями связана с наличием более новой версии php-common (5.2.10-1.el5.centos), чем та, которая доступна в стандартном репозитории CentOS. В yum repolist команда поможет нам понять, откуда вы берете свои пакеты. В rpm -qi php-common покажет нам, откуда на самом деле появился установленный в данный момент пакет.

Я предполагаю, что система была переведена на PHP 5.2 с использованием другого репо или, возможно, путем ручной установки пакета. Это было задокументировано в Интернете с использованием репозитория CentOS Testing. Если ваш пакет php-common был одноразовой установкой, вы сможете получить соответствующие пакеты php ... но это зависит от вывода вашего реполиста ...

Ты не можешь, конфетка тебе не позволит. Авторы php-xml специально хотят, чтобы версия php-common соответствовала их версии.

Ваш выбор:

  1. Найдите более новую версию php-xml rpm
  2. Понизить php-common до версии 5.2.10-1.el5.centos
  3. Использовать rpm -i --nodeps для выполнения небезопасной установки, которая может работать неправильно (так как вы не устанавливаете никаких зависимостей).
  4. Перестройте php-xml rpm, изменив версию php-commons, от которой он зависит

Я настоятельно рекомендую один из первых двух, так как они самые простые и имеют больше шансов на правильную работу.

Вы не можете использовать php-commons версии 5.2 *, так как он был удален из-за проблем с безопасностью. Остался единственный вариант - перейти на PHP 5.3. Мне потребовалось около 4 часов, чтобы найти эту информацию в Интернете, поэтому, надеюсь, это поможет кому-то другому.