ruby 如何在Amazon Linux 2023中安装Wkhtmltopdf?

1cklez4t  于 5个月前  发布在  Ruby
关注(0)|答案(2)|浏览(47)

我正在将我的服务器从AL2升级到Amazon Linux 2023。我的应用程序需要wkhtmltopdf,现在在尝试安装它时,我看到它没有在我的特定操作系统版本上正式发布。我已经尝试安装AL2的版本,但在安装所有依赖项后,它仍然缺少libpng。
我试着从AL2 aarch64下的https://wkhtmltopdf.org/downloads.html下载.rpm文件并运行sudo yum install wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpm。它似乎安装正确,但执行示例wkhtmltopdf google.com google.pdf失败。关于如何在Amazon Linux 2023中构建wkhtmltopdf有什么想法吗?
在一个附带的问题上,我看到了与这个library are Archived相关联的Github存储库,我应该考虑将我的应用程序的PDF生成迁移到另一个库吗?

[ec2-user@backoffice ~]$ sudo yum install wkhtmltox-0.12.6-1.amazonlinux2.aarch64.rpm
Last metadata expiration check: 1:02:21 ago on Mon Nov 20 20:13:06 2023.
Dependencies resolved.
===========================================================================================================================================
 Package                                  Architecture           Version                                 Repository                   Size
===========================================================================================================================================
Installing:
 wkhtmltox                                aarch64                1:0.12.6-1.amazonlinux2                 @commandline                 13 M
Installing dependencies:
 cairo                                    aarch64                1.17.6-2.amzn2023.0.1                   amazonlinux                 669 k
 fontconfig                               aarch64                2.13.94-2.amzn2023.0.2                  amazonlinux                 278 k
 fonts-filesystem                         noarch                 1:2.0.5-12.amzn2023.0.2                 amazonlinux                 9.5 k
 freetype                                 aarch64                2.13.0-2.amzn2023.0.1                   amazonlinux                 412 k
 google-noto-fonts-common                 noarch                 20201206-2.amzn2023.0.2                 amazonlinux                  15 k
 google-noto-sans-vf-fonts                noarch                 20201206-2.amzn2023.0.2                 amazonlinux                 492 k
 graphite2                                aarch64                1.3.14-7.amzn2023.0.2                   amazonlinux                  93 k
 harfbuzz                                 aarch64                7.0.0-2.amzn2023.0.1                    amazonlinux                 843 k
 langpacks-core-font-en                   noarch                 3.0-21.amzn2023.0.4                     amazonlinux                  10 k
 libX11                                   aarch64                1.7.2-3.amzn2023.0.4                    amazonlinux                 648 k
 libX11-common                            noarch                 1.7.2-3.amzn2023.0.4                    amazonlinux                 152 k
 libXau                                   aarch64                1.0.9-6.amzn2023.0.2                    amazonlinux                  32 k
 libXext                                  aarch64                1.3.4-6.amzn2023.0.2                    amazonlinux                  40 k
 libXrender                               aarch64                0.9.10-14.amzn2023.0.2                  amazonlinux                  27 k
 libfontenc                               aarch64                1.1.3-15.amzn2023.0.2                   amazonlinux                  31 k
 libjpeg-turbo                            aarch64                2.1.4-2.amzn2023.0.5                    amazonlinux                 191 k
 libpng                                   aarch64                2:1.6.37-10.amzn2023.0.6                amazonlinux                 121 k
 libxcb                                   aarch64                1.13.1-7.amzn2023.0.2                   amazonlinux                 231 k
 mkfontscale                              aarch64                1.2.1-2.amzn2023.0.3                    amazonlinux                  33 k
 pixman                                   aarch64                0.40.0-3.amzn2023.0.3                   amazonlinux                 194 k
 ttmkfdir                                 aarch64                3.0.9-63.amzn2023.0.2                   amazonlinux                  51 k
 xml-common                               noarch                 0.6.3-56.amzn2023.0.2                   amazonlinux                  32 k
 xorg-x11-fonts-75dpi                     noarch                 7.5-31.amzn2023.0.2                     amazonlinux                 2.7 M
 xorg-x11-fonts-Type1                     noarch                 7.5-31.amzn2023.0.2                     amazonlinux                 500 k

Transaction Summary
===========================================================================================================================================
Install  25 Packages

字符串
尝试:

[ec2-user@backoffice ~]$ wkhtmltopdf
/home/ec2-user/.rvm/gems/ruby-3.2.2/gems/wkhtmltopdf-binary-0.12.6.6/bin/wkhtmltopdf_centos_6_i386: /home/ec2-user/.rvm/gems/ruby-3.2.2/gems/wkhtmltopdf-binary-0.12.6.6/bin/wkhtmltopdf_centos_6_i386: cannot execute binary file
[ec2-user@backoffice ~]$ wkhtmltoimage
wkhtmltoimage: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory
[ec2-user@backoffice ~]$ which wkhtmltoimage
/usr/local/bin/wkhtmltoimage
[ec2-user@backoffice ~]$ cd /usr/local/bin/
[ec2-user@backoffice bin]$ ls
wkhtmltoimage  wkhtmltopdf
[ec2-user@backoffice bin]$ ./wkhtmltopdf
./wkhtmltopdf: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory

rmbxnbpk

rmbxnbpk1#

不确定你是否还在寻找解决方案,但把这个留在这里是为了潜在地帮助别人。
此解决方案不适用于aarch64,但可能会修改为在aarch64上工作。wkhtmltox依赖于openssllibpng的特定版本,这些版本不是默认安装在Amazon Linux 2机器上的版本。为了使此在aarch64 openssl上工作,libpngwkhtmltox必须交换为aarch64版本:

commands:
    01_install_dependencies: 
      command: yum install --assumeyes zlib fontconfig freetype libX11 libXext libXrender xorg-x11-fonts-75dpi xorg-x11-fonts-Type1
    02_install_libpng15: 
      command: yum localinstall -y https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/libpng15-1.5.30-7.el8.x86_64.rpm
    03_install_libssl10: 
      command: yum localinstall -y https://rpmfind.net/linux/centos/8-stream/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-4.el8.x86_64.rpm
    04_install_wkhtmltox:
      command: yum localinstall -y https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.amazonlinux2.x86_64.rpm

字符串

hpxqektj

hpxqektj2#

如果你使用的是docker,那么12.3版的Linux泛型可以在amd64上工作:

RUN mkdir wkhtmltopdf && \
    wget -O wkhtmltox-0.12.3_linux-generic-amd64.tar.xz "https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz" && \
    tar -xJf "wkhtmltox-0.12.3_linux-generic-amd64.tar.xz" -C wkhtmltopdf --strip-components=1 && \
    mv wkhtmltopdf/bin/wkhtmltopdf /usr/bin && \
    rm "wkhtmltox-0.12.3_linux-generic-amd64.tar.xz" -r wkhtmltopdf

字符串
如果你在本地使用的Mac M1将无法工作,因为处理器架构,所以我使用这个开发:

RUN mkdir wkhtmltopdf && \
    wget -O /tmp/wkhtmltox.rpm https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox-0.12.6.1-2.almalinux9.aarch64.rpm && \
    yum localinstall -y /tmp/wkhtmltox.rpm


我通过试验和错误发现了这一点,希望它能有所帮助。

相关问题