HeroKu buildpack для установки libmosquitto

Я пытаюсь создать небольшой сборочный пакет для приложения Heroku, в котором используется брокер MQTT. Чтобы установить канал связи с брокером, я использую драгоценный камень mosquitto, который сам требует, чтобы я установил пакет в системе и собрал его.

У драгоценного камня довольно простые инструкции:

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. Я дал ему выстрел https://github.com/rolandjitsu/heroku-buildpack-mosquitto, но мне это не удалось, и я получил ошибку. Я не эксперт по оболочкам, и я понятия не имею, что я делаю.

Я использую следующее .buildpack вместе с https://github.com/ddollar/heroku-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

Я был бы признателен за любую помощь, так как я не в состоянии понять это сам:)

1 ответ

Решение

Вам не хватает bin/detect скрипт в вашем buildpack. Это скрипт, который подтверждает, является ли код, который вы нажали, в нашем случае проектом Ruby. Так что вы, вероятно, хотите попробовать это:

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

if [ -f $1/Gemfile ]; then
  echo "Ruby" && exit 0
else
  echo "no" && exit 1
fi
Другие вопросы по тегам