ruby-on-rails - 在 Heroku 上运行 pdf2htmlEX

标签 ruby-on-rails ruby heroku apt-get pdf2htmlex

我正在尝试运行 pdf2htmlEX在 Heroku 上。起初我想在与 Heroku 具有相同堆栈的虚拟机上编译 pdf2htmlEX,然后将二进制文件包含在 git 存储库中。那没有用(我一直遇到依赖性问题)。

由于没有专门用于运行 pdf2htmlEX 的 heroku buildpack,我决定尝试使用 heroku-buildpack-multi使用 heroku-buildpack-rubyheroku buildpack-apt (buildpack-apt 在编译和运行时添加了对基于 apt 的依赖项的支持)。 pdf2htmlEX 包不在主 PPA 中(它在 ppa:coolwanglu/pdf2htmlex 中)我不能只将 pdf2htmlEX 添加到 Aptfile(这是您指定 apt 依赖项的地方)。

我最终得到了 pdf2htmlEX 的依赖项:

pdf2htmlex
  Depends: libc6
  Depends: libcairo2
  Depends: libfontforge1
  Depends: libfreetype6
  Depends: libgcc1
  Depends: libpoppler44
  Depends: libstdc++6
  Suggests: ttfautohint

考虑到这一点,我使我的 Aptfile 如下:

libc6
libcairo2
libfontforge1
libfreetype6
libpoppler44
libgcc1
libstdc++6
ttfautohint
http://ftp.us.debian.org/debian/pool/main/p/pdf2htmlex/pdf2htmlex_0.14.6+ds-1+b1_amd64.deb

问题是,如果我在一次性测功机中收到 bash 提示并尝试运行 pdf2htmlEX 我收到以下错误:

pdf2htmlEX: /app/.apt/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by pdf2htmlEX)
pdf2htmlEX: /app/.apt/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by pdf2htmlEX)
pdf2htmlEX: /app/.apt/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /app/.apt/usr/lib/x86_64-linux-gnu/libpoppler.so.57)

我在 stackoverflow 上找到的关于这个特定错误的几篇文章并不是特别有用。这似乎与 libstdc++6 有关,但我不知道如何解决它。

有什么想法吗?另外,如果您知道在 heroku 上运行 pdf2htmlEX 的更简单方法,请告诉我。

最佳答案

连同上面提到的 Aptfile 中的库,请在转换时将 data-dir 提供给 pdf2htmlEX。

转换时的主要问题之一是在 Ubuntu 上 pdf2htmlEX 安装在 /usr/bin/pdf2htmlEX 而在 heroku 上它安装在 /app/.apt/usr/bin/pdf2htmlEX。当我们不提供 data-dir 而默认转换它时会查找 /usr/bin/pdf2htmlEX

heroku-18 上测试 v0.16.0-poppler-0.62.0-ubuntu-18.04

如果您使用的是 ruby​​,则可以使用 Kristin带有 master 分支的 gem

关于ruby-on-rails - 在 Heroku 上运行 pdf2htmlEX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34324162/

相关文章:

mysql - Rails4 + 太阳黑子搜索

ruby-on-rails - Rails、Puma、Sidekiq 如何计算总数据库连接数?

ruby - Chef 获取节点的当前角色

javascript - Heroku 上的 Rails 应用程序加载 Javascript,但 JS 函数未运行

Heroku 运行显示更新,是否需要更新?如果是,那么如何?

jquery - 我如何重新加载带有 rails partial 的 div

ruby-on-rails - nginx+passenger 上的 rails 应用程序未显示自定义错误页面

ruby - Ruby 中的引号究竟是如何构成一个字符串的?

Ruby-DBI MSSQL - 当我尝试选择一个句子时,我只得到 nils 作为结果

python - Heroku 的 Procfile 无法正常工作 - 使用 Waitress 的 Django