2014-05-25 23 views
1

我正在嘗試爲使用MQTT代理的Heroku應用創建一個小的buildpack。爲了與經紀人建立溝通渠道,我使用了mosquitto寶石,它本身需要我在系統上安裝一個軟件包並構建它。用於安裝libmosquitto的heroku buildpack

創業板非常簡單的指令:

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 

我需要一個buildpack,將做到這一點對Heroku的cedar應用。我給了它一個heroku-buildpack-mosquitto,但我失敗了,我得到一個錯誤。我不是殼牌專家,我不知道我在做什麼。

我用下面的.buildpack,連同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 

而且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 

我將不勝感激任何幫助,因爲我是n ot能夠自己搞清楚這個:)

回答

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 
+0

這不是問題了,我已經設法得到那個工作。現在看起來'cmake'命令不存在,即使我用'apt'安裝了構建所需的包。我有點卡住,我不知道如何解決它。我已經添加了關於錯誤的更多描述,並且我更新了回購。 – Roland

+0

好吧,我不會更新這樣的問題。原來的問題是關於丟失'bin/detect'腳本,我回答了這個問題。現在你已經改變了這個問題,我的答案看起來完全不相關,這不會幫助其他面臨類似問題的人。 – errordeveloper

+0

如果我是你,我會回過頭來問這是什麼,併發佈一個關於cmake問題的新問題。也許你應該問「如何在Heroku上安裝cmake?」並描述你的嘗試。 – errordeveloper