2

我正在尝试为使用 MQTT 代理的 Heroku 应用程序创建一个小型构建为了与代理建立通信渠道,我使用mosquitto gem,它本身需要我在系统上安装一个包并构建它。

gem 有非常简单的说明:

sudo apt-get update
sudo apt-get install pkg-config cmake openssl libc-ares-dev

wget http://mosquitto.org/files/source/mosquitto-1.3.1.tar.gz
tar xzf mosquitto-1.3.1.tar.gz
cd mosquitto-1.3.1
cmake .
sudo make install

我需要一个可以在 Heroku cedar应用程序上执行此操作的 buildpack。我试了一下heroku-buildpack-mosquitto,但我失败了,我得到了一个错误。我不是外壳专家,也不知道自己在做什么。

我将以下内容.buildpackheroku-buildpack-multi一起使用:

https://github.com/ddollar/heroku-buildpack-apt.git
https://github.com/rolandjitsu/heroku-buildpack-mosquitto.git
https://github.com/heroku/heroku-buildpack-ruby.git

Aptfile对于heroku-buildpack-apt

pkg-config
cmake
openssl
libc-ares-dev

我收到以下错误:

/tmp/buildpack_23cdb652-73cc-461b-b70f-ec3f386ebee1/bin/compile: line 44: /tmp/buildpack5JP7B/bin/detect: No such file or directory

我将不胜感激任何帮助,因为我自己无法弄清楚这一点:)

4

1 回答 1

2

您的 buildpack 中缺少bin/detect脚本。这是确认您推送的代码在我们的例子中是否是 Ruby 项目的脚本。所以你可能想试试这个:

#!/usr/bin/env bash
# bin/detect <build-dir>

if [ -f $1/Gemfile ]; then
  echo "Ruby" && exit 0
else
  echo "no" && exit 1
fi
于 2014-05-26T09:31:07.720 回答