【问题标题】:Rubber : Unmet Dependencies for libapache2-mod-passenger橡胶:libapache2-mod-passenger 的未满足依赖项
【发布时间】:2015-06-12 03:54:25
【问题描述】:

当我尝试使用橡胶进行部署时,我收到以下错误:

The following packages have unmet dependencies:
** [out :: staging.xxx.com] 
** [out :: staging.xxx.com] libapache2-mod-passenger : Depends:   passenger (= 1:5.0.8-1~trusty1) but it is not going to be installed
** [out :: staging.xxx.com] 
** [out :: staging.xxx.com] E
** [out :: staging.xxx.com] :
** [out :: staging.xxx.com] Unable to correct problems, you have held broken packages.

我能做些什么来解决这个问题?

【问题讨论】:

    标签: ruby-on-rails capistrano rubber


    【解决方案1】:

    同样的事情发生在我身上。

    我尝试像@Phil 所说的那样修改版本号,在我的rubber-passenger.yml 文件中根据https://oss-binaries.phusionpassenger.com/apt/passenger/dists/trusty/main/binary-amd64/Packages 任意增量地更改它们,然后运行cap <alias> rubber:install_packages。这太可怕了,大约在这里:

    # passenger_version: '1:5.0.10-1~`lsb_release -sc`1' # fail
    # passenger_version: '1:5.0.11-1~`lsb_release -sc`1' # fail
    # passenger_version: '1:5.0.13-1~`lsb_release -sc`1' # fail
    # passenger_version: '1:5.0.14-1~`lsb_release -sc`1' # fail
    # passenger_version: '1:5.0.15-1~`lsb_release -sc`1' # fail
    # passenger_version: '1:5.0.16-1~`lsb_release -sc`1'
    # passenger_version: '1:5.0.18-1~`lsb_release -sc`1'
    # passenger_version: '1:5.0.19-1~`lsb_release -sc`1'
    # passenger_version: '1:5.0.20-1~`lsb_release -sc`1'
    # passenger_version: '1:5.0.21-1~`lsb_release -sc`1'
    # passenger_version: '1:5.0.22-1~`lsb_release -sc`1'
    # passenger_version: '1:5.0.23-1~`lsb_release -sc`1'
    # passenger_version: '1:5.0.24-1~`lsb_release -sc`1'
    # passenger_version: '1:5.0.25-1~`lsb_release -sc`1'
    # passenger_version: '1:5.0.26-1~`lsb_release -sc`1'
    # passenger_version: '1:5.0.27-1~`lsb_release -sc`1'
    

    我受够了,刚刚删除了版本号。那行得通。所以现在我在rubber-passenger.yml 中的roles 规范看起来像这样:

    roles:
      passenger:
        # packages: [apache2-mpm-prefork, apache2-prefork-dev, libcurl4-openssl-dev, libapache2-mod-xsendfile, [libapache2-mod-passenger, "#{passenger_version}"]]
        packages: [apache2-mpm-prefork, apache2-prefork-dev, libcurl4-openssl-dev, libapache2-mod-xsendfile, libapache2-mod-passenger]
        rolling_restart_port: "#{passenger_listen_port}"
    
      web_tools:
        rolling_restart_port: "#{web_tools_port}"
    

    【讨论】:

    • Props 用于引用受信任的二进制目录。在搜索最新版本时,工作就像一个魅力。
    【解决方案2】:

    对我来说,将 Rubber-passenger.yml 的第一行更改为

    passenger_version: '1:5.0.15-1~`lsb_release -sc`1'
    

    (什么意思,改版本号)

    然后又是类似的东西

    cap rubber:install_packages
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-11
      • 2019-09-12
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 2016-08-29
      • 2019-01-25
      • 2018-02-25
      相关资源
      最近更新 更多