我正在尝试创建一个将安装wkhtmltopdf的ebextensions文件。
目前它看起来像这样:
packages:
yum:
xorg-x11-fonts-75dpi: []
libpng: []
xz: []
urw-fonts: []
libXext: []
openssl-devel: []
libXrender: []
rpm:
wkhtmltopdf: https://s3-eu-west-1.amazonaws.com/myS3Account/wkhtmltox-0.12.2.1_linux-centos5-amd64.rpm
在这种情况下,wkthmltopdf无法安装。我收到以下错误:
Failed dependencies:
xorg-x11-fonts-75dpi is needed by wkhtmltox-1:0.12.2.1-1.x86_64
如果我使用SSH连接到我的EC2实例,我可以通过手动运行" yum install xorg-x11-fonts-75dpi",然后按" wget wkthmltopdf-来成功安装wkhtml。 "和" rpm - 安装wkhtmltopdf - .."。如果我跳过yum步骤,rpm会抱怨wkhtmltopdf需要xorg包。
ebextensions在部署时似乎没有安装xorg-x11-fonts-75dpi。我做错了吗?
答案 0 :(得分:16)
根据文件:
Packages are processed in the following order: rpm, yum, and then rubygems and python.
Elastic beanstalk首先处理你的rpm包,导致错误,永远不会到达yum包。
有几种方法可以解决这个问题。
1)通过
之类的命令运行rpm安装commands:
install_wkhtmltox:
command: yum -y install https://s3-eu-west-1.amazonaws.com/myS3Account/wkhtmltox-0.12.2.1_linux-centos5-amd64.rpm
这应该通过yum自动解决依赖关系。
2)将.ebextensions文件拆分为两个:01_install_dependencies.config和02_install_wkhtmltox.config。在01文件安装yum包中,在02文件中安装rpm。这样您就可以“覆盖”包安装顺序