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アプリでそれを行うビルドパックが必要です。heroku-buildpack-mosquitto を試してみましたが、失敗してエラーが発生しました。私はシェルの専門家ではなく、自分が何をしているのかわかりません。

私はheroku-buildpack-multi.buildpackと一緒に以下を使用します:

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

そしてAptfileheroku -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

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 に答える