Pear – удалось, но это не действительный пакет

Во время установки пакета pecl я получил ошибку,

Download of "pecl/pecl_http" succeeded, but it is not a valid package archive Error: cannot download "pecl/pecl_http" 

Эта ошибка подходит для всех пакетов. Поэтому я попробовал решение, приведенное здесь, http://cweiske.de/tagebuch/pear-php-5.5.htm . Но это не работает. И у меня нет другой подсказки. Было бы очень полезно, если бы кто-то объяснил, в чем проблема. Пожалуйста помоги.

Эта ошибка обычно затрагивает системы, обновленные до Ubuntu 14.04 LTS от Ubuntu 12.04 LTS.

Существует временное решение для php5-5.5.9, прокомментированное kolAflash на Launchpad .

Обходной путь содержит небольшую опечатку ( tar вместо tgz ), поэтому я предоставляю рабочее решение:

 # First run pear to download the packages. It will probably put the packages into # /build/buildd/php5-5.5.9+dfsg/pear-build-download/ # but it can't install them. $ pear upgrade # Un-Gzip the downloaded packages. $ gunzip /build/buildd/php5-5.5.9+dfsg/pear-build-download/*.tgz # Now pear should be able to work with the pure tar-files. $ pear upgrade /build/buildd/php5-5.5.9+dfsg/pear-build-download/*.tar 

Весь кредит для этого обходного пути, очевидно, идет на kolAflash .

Кажется, что Груша не может установить из архива tgz. Вы должны явно запрашивать несжатые файлы при загрузке с параметром -Z, –nomompress .

Итак, попробуйте sudo pear install -Z package

Лучшим решением для этого является обновление пакета архивов PEAR, который использует установщик груши, и после этого вам не нужно явно запрашивать несжатые файлы при установке новых или обновлении существующих пакетов.

 $ sudo pear upgrade -Z Archive_Tar 

Вам не нужно делать это для каких-либо других пакетов, если вы сначала сделаете это для Archive_Tar.

Эта проблема возникает из-за того, что Ubuntu немного изменил строки формата pack / unpack, чтобы выровнять их с поведением Perl, что нарушает обратную совместимость. PEAR исправил это в последовательных версиях Archive_Tar (Ubuntu продолжал делать эти изменения в каждой последующей версии PHP …). И поэтому установщик груши требует более поздней версии Archive_Tar, чем 1.3.11 – подробности указаны на странице https://bugs.launchpad.net/ubuntu/+source/php5/+bug/1434099 .

Вам нужно будет сделать это после каждого обновления программного обеспечения, влияющего на PHP, который предлагает Ubuntu, поскольку обновление откатывает версию Archive_Tar, которую вы установили локально. Он также откатывает пакеты Console_Getopt, XML_Util и PEAR.

У меня была эта проблема, и в итоге мне удалось обновить Archive_Tar

gunzip *.tgz tar -xvf Archive_Tar-1.4.2.tar mv package.xml Archive_Tar-1.4.2 cd Archive_Tar-1.4.2 pear upgrade package.xml

После этого работа для меня работала на грушах. Я ранее имел Archive_Tar-1.3.10 и обновлялся до 1.4.2

Похоже, что это ошибка, и она связана с определенной версией части программного обеспечения. Быстрый поиск в googling нашел ссылку на форумы cpanel с такой проблемой, как старая, как и 2011, и довольно свежий https://bugs.php.net/bug.php?id=67075 . Рассмотрите возможность изменения версии / переключения php с 32-разрядной системы (например, она воспроизводится с 32-битным новым новым Ubuntu 14.04 и не воспроизводится с 64-битной версией того же самого).