【发布时间】:2016-04-03 21:18:25
【问题描述】:
在 PHP 5.5 中使用 Composer 安装 PEAR 包可以正常工作(当然)。我已经设置了一个 PHP 7 测试框来查看我们的单元测试是否会在 PHP 7 下通过,而我遇到的直接问题是 PEAR 依赖项不起作用:
Loading composer repositories with package information
Initializing PEAR repository https://pear.php.net
Updating dependencies (including require-dev)
- Installing packagist/closurecompiler-bin (dev-master d52231c)
Cloning d52231c49813347010fa605d0f102ada68bb8b4b
- Installing pear-pear.php.net/structures_graph (1.1.1)
Loading from cache
[UnexpectedValueException]
Failed to extract PEAR package /opt/navigate/vendor/pear-pear.php.net/Structures_Graph/Structures_Graph-1.1.1.tgz to /opt/navigate/vendor/pear-pear.php.net/Structures_Graph. Reason: phar error: tar-base
d phar "Structures_Graph-1.1.1/tests/BasicGraphTest.php" cannot be registered
[UnexpectedValueException]
phar error: tar-based phar "Structures_Graph-1.1.1/tests/BasicGraphTest.php" cannot be registered
我无法弄清楚这一点 - 它似乎是一个彻头彻尾的 PHP 7 不兼容问题,没有人在网上写过?
【问题讨论】:
-
最好在 Github 上发布关于 composer 的问题:github.com/composer/composer
-
Composer 抱怨没有名为
pear-pear.php.net/structures_graph的包。但是,有pear/structures_graph。您是否尝试过运行composer clearcache,然后运行composer install? -
啊,你是直接使用pear仓库的,这里描述的:getcomposer.org/doc/05-repositories.md#pear 然后忽略我之前的评论,有一个bug。
-
有趣。似乎 PharData 在 PHP 7.0 附近停止使用一些看似有效的 tar 档案。我已经在 bugs.php.net 上发布了错误报告:bugs.php.net/bug.php?id=71317
-
我鼓励任何来这里的人对 PHP 错误进行投票 - PHP 开发人员目前正在忽略它..
标签: php composer-php pear