问题标签 [buildpack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - 如何在 Heroku buildpack 中设置 CONFIG_PATH
在我详细说明问题之前,我应该让你知道我已经在 heroku 的 bash (heroku run bash) 上成功安装了 ffmpegthumbnailer。
我正在尝试使用我编写的自定义 Heroku buildpack 构建 ffmpegthumbnailer,但是当我在 bin/compile buildpack 文件中运行 ./configure && make install 时,ffmpegthumbnailer 告诉我它找不到 ffmpeg 库(util,格式、编解码器、比例)并建议我设置 PKG_CONFIG_PATH。所以我设置了 PKG_CONFIG_PATH ,它似乎仍然找不到库。
我尝试过以各种方式设置 PKG_CONFIG_PATH。echo export,export,直接通过 PKG_CONFIG_PATH=/app 设置...我一直都是用 .configure 命令设置的。我什至将 PKG_CONFIG_PATH 设置为 heroku config var,并尝试通过作为第三个参数传递到 buildpack 的 ENV_DIR 变量来访问它,但我很快意识到我只是将变量 PKG_CONFIG_PATH 设置为名为 PKG_CONFIG_PATH 的文件的内容,即我正在设置 PKG_CONFIG_PATH=/app/vendor...,我已经完成了!这些都没有奏效。此外,正如您在编译文件和日志中看到的那样, echo $PKG_CONFIG_PATH 会打印正确的路径。
我还能做些什么调试?到底是怎么回事?
下面是我的 bin/compile buildpack 文件,以及我将应用程序部署到 heroku 后的日志。
还有我的heroku部署日志...
heroku - 如何使用 Deis (PaaS) 设置和部署数据库
我正在尝试使用Deis设置数据库。我知道这是可能的,但是除了设置 ENV 变量之外似乎没有任何关于如何执行此操作的文档。我如何设置说 MongoDB 或 Cassandra docker 容器,然后部署它并让我的 deis 应用程序使用它?
heroku - 使用 Laravel 的 Heroku 新 Buildpack
今天我收到了 Heroku 的一封电子邮件,宣布了他们为 PHP 开发的新 buildpack。从那时起,当我对我的 Laravel 4 应用程序进行新部署时,我收到此错误:
应用程序错误 应用程序发生错误,无法提供您的页面。请稍后重试。如果您是应用程序所有者,请查看您的日志以获取详细信息。
我什至用干净的代码制作了一个新应用程序,但我得到了同样的错误。git 部署显示没有错误。
这是我来自 Papertrail 的日志:
pr 29 21:04:07 shielded-ocean-5349 heroku/web.1:状态从崩溃更改为开始 Apr 29 21:04:08 shielded-ocean-5349 heroku/web.1:使用命令启动进程
sh www/conf/web-boot.sh
Apr 29 21: 04:08 shielded-ocean-5349 heroku/web.1: 进程以状态退出 2 Apr 29 21:04:13 shielded-ocean-5349 app/web.1: sed: 无法读取 /app/apache/conf/ httpd.conf: 没有这样的文件或目录 Apr 29 21:04:13 shielded-ocean-5349 app/web.1: touch: cannot touch/app/apache/logs/access_log': No such file or directory Apr 29 21:04:13 shielded-ocean-5349 app/web.1: exec: 25: /app/apache/bin/httpd: not found Apr 29 21:04:13 shielded-ocean-5349 app/web.1: www/conf/web-boot.sh: 16: cannot create /app/apache/conf/httpd.conf: Directory nonexistent Apr 29 21:04:13 shielded-ocean-5349 app/web.1: www/conf/web-boot.sh: 16: cannot create /app/apache/conf/httpd.conf: Directory nonexistent Apr 29 21:04:13 shielded-ocean-5349 app/web.1: www/conf/web-boot.sh: 16: cannot create /app/apache/conf/httpd.conf: Directory nonexistent Apr 29 21:04:13 shielded-ocean-5349 app/web.1: www/conf/web-boot.sh: 17: cannot create /app/apache/conf/httpd.conf: Directory nonexistent Apr 29 21:04:13 shielded-ocean-5349 app/web.1: touch: cannot touch
/app/apache/logs/error_log': 没有这样的文件或目录
欢迎任何帮助。
php - 如何在 Heroku 中卸载此 buildpack?
heroku-buildpack-php-tyler
几天前我在我的 Heroku 应用上安装了,一切似乎都运行良好。我通过运行以下命令安装了它:
但是我现在想删除它。我尝试使用以下命令:
但它返回以下错误消息:
取消设置 BUILDPACK_URL=git://github.com/iphoting/heroku-buildpack-php-tyler.git 并重新启动 hnf-heroku... 失败
!找不到资源`
因为Heroku 没有正式支持PHP,所以没有太多关于此的文档。那么如何卸载这个 buildpack 呢?
ruby-on-rails - 在 Heroku 的子目录中部署 Rails 4.1?
我有一个如下目录结构:
Rails 位于web/
存储库的子目录中。Heroku 默认不喜欢这个。
我有一个部分工作的 heroku buildpack。它基本上调用在运行任何任务之前Dir.chdir
更改为APP_SUBDIR
环境变量(如果存在)。
我想部署到 Heroku,但我无法让资产管道任务工作。当需要预编译资产时,定制的 buildpack 会更改到web/
目录并尝试运行任务。
但是,我收到此错误,其中包含以下重要信息:
这很奇怪,因为 Heroku 清楚地说我在同一个馅饼中运行 2.0。事实上,当我运行时:
它工作得很好。
TL;DR(总结)
Heroku 认为我的 ruby 版本是在它自己的构建过程中1.9.2
真正显示出来的。为什么会这样?2.0.0
buildpack - 私有的自定义 Deis buildpack
要使用自定义构建包,可以设置 BUILDPACK_URL 环境变量。但是,这假设 buildpack 是公开可用的。有没有办法使用私有 buildpack?我可能可以使用一个公开可用的 buildpack,它将在 repo 中运行私有触发器,但我只是想知道是否有一种方法可以做一些事情,比如将 buildpack 包含在 repo 本身中。
docker - 使用 Deis 部署现有的 docker 镜像
我已经有一个构建服务器,可以为应用程序生成一个 docker 映像,然后将其放入云存储中。这不是可以在 docker index 上公开共享的图像。如何在 deis 中运行此应用程序 docker 映像?
Deis 旨在通过 buildpack 或 Dockerfile 从您的 git repo 构建您的 docker 映像(尽管我找不到有关如何使用 Dockerfile 而不是 buildpack 的说明)。这可以被认为是遗留集成问题。但是,当前在应用程序集群上运行构建服务的设置对我来说并不好,因为我希望我的构建服务器比我的应用程序服务器强大得多。理想情况下,我的构建服务器会按需启动,尽管我现在不理会那个装备。
heroku - 用于安装 libmosquitto 的 heroku buildpack
我正在尝试为使用 MQTT 代理的 Heroku 应用程序创建一个小型构建包。为了与代理建立通信渠道,我使用mosquitto gem,它本身需要我在系统上安装一个包并构建它。
gem 有非常简单的说明:
我需要一个可以在 Heroku cedar应用程序上执行此操作的 buildpack。我试了一下heroku-buildpack-mosquitto,但我失败了,我得到了一个错误。我不是外壳专家,也不知道自己在做什么。
我将以下内容.buildpack
与heroku-buildpack-multi一起使用:
而Aptfile
对于heroku-buildpack-apt:
我收到以下错误:
我将不胜感激任何帮助,因为我自己无法弄清楚这一点:)
heroku - 在 heroku Cedar Stack 上安装 PDFTK 以在我的应用程序中使用
所以我有建筑管理应用程序,它在本地使用 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,我就得到了答案。
c - Heroku app buildpack 编译成功后失败
我正在尝试C
使用专门针对它的自定义 heroku buildpack 构建应用程序。问题是编译后它进入最后阶段-----> Installing
并失败。有人能够解释我需要做什么才能成功部署它吗?
命令:
...然后它继续构建看似正常的一切...