2017-08-04 107 views
1

在我们的CircleCI构建中,我们有几个月的PHP redis安装,但它今天停止工作。返回消息如下。sudo apt-get install php-redis停止工作

请问,你知道如何解决它吗?我有点困惑该怎么办。感谢您的帮助。

命令和apt-get安装PHP-redis的读取软件包列表...完成

大厦的依赖关系树

读取状态信息...完成

无法安装一些软件包。这可能意味着您有 请求一个不可能的情况,或者如果您正在使用不稳定的 分发版,则尚未创建一些必需的软件包或 已从Incoming中移出。下面的信息可以帮助 解决问题:

下列软件包有不能满足的依赖关系:

PHP-redis的:依赖:PHP-igbinary但它不会被安装 德普

结束:phpapi-20160303但它不是可安装的或 phpapi-20151012但它不是可安装的或 phpapi-20131226但它不是可安装的E:无法更正问题,您已经保存了损坏的软件包。

命令和apt-get安装PHP-redis的返回退出代码100

操作失败:命令和apt-get安装PHP-redis的

我们在CircleCi流程是这样的:

  • sudo apt-add-repository -y ppa:ondrej/php
  • sudo apt-get update
  • sudo apt-get instal l php-redis
  • echo'extension =/usr/lib/php/20131226/redis.so'| sudo tee/opt/circleci/php/$(phpenv global)/etc/conf.d/redis.ini
  • echo'extension =/usr/lib/php/20131226/igbinary.so'|须藤发球的/ opt/circleci/PHP/$(phpenv全球)/etc/conf.d/igbinary.ini

解决: 使用sudo易于得到-f安装PHP-redis的

+1

你试过'sudo apt-get upgrade'它可以修复依赖关系或者至少建议你运行'sudo apt-get -f install' –

+0

看来sudo apt-get -f install可以工作!真的很感谢你! –

+0

您可能想要SSH并找出*为什么*您必须强制它。其他的东西可能会因此而改变。较新版本的Ubuntu使用'php7.0-redis',所以你可能会强制安装PHP5 ... – ceejayoz

回答

1

这听起来好像还有其他的依赖关系没有被主包安装。当我通过dpkg(下载的Chrome deb软件包是通常的软件包)安装时,通常会发生这种情况。

当您运行

sudo apt-get upgrade 

它通常会告诉你,出现了一些安装失败,建议您运行

sudo apt-get -f install 

这些通常会解决依赖性并安装所需要的任何额外的包。