在pecl包安装期间,我收到了错误,
Download of "pecl/pecl_http" succeeded, but it is not a valid package archive
Error: cannot download "pecl/pecl_http"
Run Code Online (Sandbox Code Playgroud)
所有包都会出现此错误.所以我尝试了这里给出的解决方案, http://cweiske.de/tagebuch/pear-php-5.5.htm.但它没有用.我对此没有任何其他线索.如果有人解释问题究竟是什么,那将会非常有用.请帮忙.
Wer*_*ner 23
此错误通常会影响从Ubuntu 12.04 LTS升级到Ubuntu 14.04 LTS的系统.
在Launchpad上有一个由kolAflash评论的php5-5.5.9的解决方法.
解决方法包含一个小错字(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
Run Code Online (Sandbox Code Playgroud)
这种解决方法的所有功劳显然都归功于kolAflash.
对此最好的解决方案是升级梨安装程序使用的PEAR的Archive包,之后在安装新的或升级现有的包时,您不需要显式请求未压缩的文件.
$ sudo pear upgrade -Z Archive_Tar
Run Code Online (Sandbox Code Playgroud)
只要您先为Archive_Tar执行此操作,就不必为任何其他包执行此操作.
出现此问题是因为Ubuntu稍微更改了pack/unpack格式字符串以使它们与Perl行为对齐,从而破坏了向后兼容性.PEAR在Archive_Tar的后续版本中修复了这个问题(Ubuntu继续在每个连续版本的PHP中进行这些更改......).所以pear安装程序需要更新版本的Archive_Tar而不是1.3.11 - 详情请访问https://bugs.launchpad.net/ubuntu/+source/php5/+bug/1434099.
在每次"软件升级"影响Ubuntu提供的PHP之后,您将需要执行此操作,因为升级将回滚您在本地安装的Archive_Tar版本.它还会回滚Console_Getopt,XML_Util和PEAR包.
| 归档时间: |
|
| 查看次数: |
7303 次 |
| 最近记录: |