所以我有建筑管理应用程序,它在本地使用 pdftk 生成 pdf 表格(预填充租户/费用数据)。在我的本地机器上像魔术一样工作。但是,在 Heroku 上出现错误:
pdftk 可执行文件 /usr/local/bin/pdftk 未找到
当我尝试生成 pdf 文件时在日志中。我意识到我需要使用 buildpack 在我的 heroku 应用程序上安装 pdftk。我尝试过使用 Vulcan 进行一些教程,但不推荐使用 vulcan,他们说使用 heroku run,但是我找不到太多关于如何安装 pdftk-source 的文档:https ://github.com/millie/pdftk-源码使用heroku运行。
我将尝试https://github.com/millie/heroku-buildpack-ruby-pdftk,但如果有更简单/不那么混乱的方法,请告诉我,谢谢!
编辑:尝试了上述方法,现在我的heroku日志说: RuntimeError (pdftk executable /app/vendor/pdftk/bin not found) 所以我认为buildpack一开始就没有包含pdftk,这不会感觉。我一定是做错了什么,但我完全按照说明进行操作,唯一的区别是我使用 dropbox 而不是 S3 来存储 tar.gz 文件(pdftk 源)
编辑:好的,我想出了如何在 heroku buildpack 中包含 pdftk 可执行文件并将其作为应用程序环境的一部分成功上传。但是,由于一些非常奇怪的原因,在 heroku bash 控制台中,当我 cd 进入 pdftk 目录并尝试运行可执行文件时,heroku bash 说找不到 pdftk 可执行文件。
它在我的本地机器上工作,当 cd 进入 pdftk 目录并运行 pdftk 时,它运行可执行文件,所以它不是可执行文件..那么为什么它不在 heroku bash 目录中工作?
解决方案:在 heroku 上的配置变量中缺少设置 LD_LIBRARY_PATH,因为 pdftk 依赖于库文件。另外,请记住将 tar.gz tar 到根目录并将 PATH 设置为 /bin/pdftk。只需查看 IRC 上的#heroku,我就得到了答案。