3

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

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.

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

4

2 回答 2

3

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

我尝试修改 @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'

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

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}"
于 2016-04-17T13:43:20.833 回答
0

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

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

(什么意思,改版本号)

然后又像

cap rubber:install_packages
于 2015-08-06T14:13:16.453 回答