2015-10-08 48 views
0

我有對project-honeypot寶石的依賴這反過來又根據我Gemfile.lock具有以下依存關係一個Rails應用程序:比Heroku buildpack更簡單的安裝本地依賴的方式?

net-dns2 
    packetfu 
    network_interface 
    pcarub (~> 0.12) 

當我推到我的Heroku應用程序也不會安裝pcarubOther sources讓我得出結論,我失蹤libpcaplibpcap-devel。我希望有人會糾正我,如果我在這裏錯了。

不幸的是,據我所知,除了複雜的herokubuildpacks之外,沒有辦法運行任意的apt-get命令。有沒有更簡單的解決方案?

的Heroku/pcarub安裝錯誤:

Building native extensions. This could take a while... 
ERROR: Error installing pcaprub: 
     ERROR: Failed to build gem native extension. 

    /app/vendor/ruby-2.0.0/bin/ruby extconf.rb 

[*] Running checks for pcaprub_c code... 
platform is x86_64-linux 
checking for pcap_open_live() in -lpcap... no 
checking for pcap_setnonblock() in -lpcap... no 
creating Makefile 

make "DESTDIR=" 
compiling pcaprub.c 
pcaprub.c:8:18: fatal error: pcap.h: No such file or directory 
#include <pcap.h> 
       ^
compilation terminated. 
make: *** [pcaprub.o] Error 1 


Gem files will remain installed in /app/vendor/ruby-2.0.0/lib/ruby/gems/2.0.0/gems/pcaprub-0.12.0 for inspection. 
Results logged to /app/vendor/ruby-2.0.0/lib/ruby/gems/2.0.0/gems/pcaprub-0.12.0/ext/pcaprub_c/gem_make.out 
+0

您可以使用docker進行部署。但這不一定簡單。 https://devcenter.heroku.com/articles/docker –

回答

1

的Heroku buildpacks原來是非常簡單的使用。 Heroku現在提供first class support for multiple buildpacks。我需要設定明確的紅寶石buildpack:

heroku buildpacks:set https://github.com/heroku/heroku-buildpack-ruby.git 

然後加入heroku-buildpack-apt提前紅寶石buildpack的:

heroku buildpacks:add --index 1 https://github.com/ddollar/heroku-buildpack-apt.git 

然後我在一個新的文件的依賴在​​我的項目的根目錄中稱爲Aptfile

libpcap-dev 

下次我部署Heroku時,使用新的buildpack到apt-get install libpcap,然後再運行軟件包安裝。

相關問題