2017-08-04 44 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 

這些通常會解決依賴性並安裝所需要的任何額外的包。