【发布时间】:2020-10-21 21:10:17
【问题描述】:
我正在尝试在 Heroku 上使用特定版本的 pdftotext(版本 3.03)。我正在使用https://github.com/carwow/heroku-buildpack-pdftotext buildpack,默认情况下使用版本 0.57(据我所知,它包括 Poppler 版本 0.57,但 pdftotext 版本也是 0.57)。通过查看https://github.com/carwow/heroku-buildpack-pdftotext/blob/master/scripts/build_pdftotext,我假设此构建包允许通过提供POPPLER_VERSION 或POPPLER_TARBALL_URL 变量来使用特定版本的Poppler。问题是 - 如何将这些变量传递给构建步骤?
到目前为止我已经尝试过:
- 在
Config Vars中设置POPPLER_VERSION和POPPLER_TARBALL_URL,正在部署 - 每个https://devcenter.heroku.com/articles/buildpack-api,(我假设)在我的应用程序中创建
env文件夹,将ENV_DIR设置为env,创建POPPLER_VERSION和POPPLER_TARBALL_URL文件,在env文件夹中包含适当的值,部署
在任何一种情况下,运行/app/bin/pdftotext 0.57 版时仍会报告
【问题讨论】:
-
您是否查看过elements.heroku.com/buildpacks/loadsmart/env-buildpack 以在构建时提供特定的配置/环境变量?
-
@jonrsharpe 我已经看过了,但考虑到存储库已存档,我还没有尝试过;好像和Buildpack API做的一样,如果可以的话,我想用官方的方式
-
buildpack API 是您在编写 buildpack 时所要实现的,例如 env buildpack。
-
@jonrsharpe 哦,我当时明显误解了这个 API 的用途。尽管我需要安装一个 buildpack 以在另一个 buildpack 中设置环境变量,但这对我来说似乎很奇怪。希望有一种 Heroku 强制的方式来做到这一点
-
我认为配置变量 应该 可用于所有构建包,尽管我注意到(参见 github.com/textbook/starter-kit/issues/1)这似乎取决于它们的设置方式 -如果我在通过 CLI 创建应用程序后立即执行此操作,则它是可用的,但如果我从
app.json为 Deploy to Heroku 按钮设置它,则不是。
标签: heroku