我有一台服务器运行在AWS上。应用程序使用波普尔-功用。
服务器是CI集成的。因此,所有必要的依赖项都是在部署应用程序之前安装的。依赖项之一是poppler-utils。
直到现在,我一直使用$ yum install poppler-utils安装它。最近,我意识到Amazon上的版本已经很久没有更新了(0.26.5vsupubuntu上的最新版本是20.08-6年版本差异)。
当然,我可以在一台机器上构建和安装(在源代码上使用make和make install )。为了达到CI/CD的目的,我需要一些可以快速安装和部署的东西(yum软件包对此非常有用)。
我如何准备部署最近版本的poppler?
我探索过的几个想法是:
寻找前进的方向。
发布于 2021-03-23 09:23:08
发布于 2021-03-23 01:03:59
我在这个问题上花了大约三天时间。事实证明,Amazon本质上是CentOS7,它看起来像是0.26.5 (2014年9月)是CentOS7的最后一个版本,0.66.0 (2018年6月)用于CentOS8,20.11.0 (2020年11月)根据https://pkgs.org/download/poppler-utils 21.03是最新版本(2021年3月)。
我试图通过大量的http://www.linuxfromscratch.org文章和大量的prereq构建自己版本的库,但没有成功。我一直发现的最大问题是,我构建的版本没有被使用,而通过yum安装的版本是,所以我一直试图解决的一些版本依赖项没有被识别出来。我不想乱搞百胜,把其他的都搞砸。
所以,我已经走上了Docker...one的道路,我知道我应该学到一些东西,但从来没有去做过。这是一个完美的解决方案。我在在docker中安装0.82版本的Poppler实用程序的基础上构建了我的对接器,并将版本更新到最近的版本。
构建Dockerfile之后,创建一个AMI,这样您就有了一个起点,并且不必等待所有的东西下载和重新构建。
发布于 2021-03-23 09:40:10
非常感谢marcin和zethw给出的答案。
我使用了AMI +从头开始构建poppler的方法。高级别的步骤是:
poppler。你会注意到你需要在这上面跳很多图书馆舞。但是最后,确保$ pdftoppm --help返回正确的输出(作为测试的一种方式)。这听起来很简单,但你必须处理一些问题:
poppler时,cmake命令提示您缺少库。这可能会因Amazon 1到2以及您的设置而有所不同。的忠告
我想说@zethw的答案从长远来看是更可持续的。或者,如果你有奢侈品的话,可以考虑离开Amazon。
https://stackoverflow.com/questions/66672006
复制相似问题