2015-04-08 20 views
5

Mam aplikację 4 szyny, która używa ruby-filemagic, a więc filemagic musi być zainstalowany w systemie.Jak zainstalować libmagic na Heroku?

Próbowałem zainstalować go na Heroku przez mimicing rozwiązań this question, ale po prostu nie będzie działać. Próbowałem wielu rzeczy, ale najbardziej obiecujące jest instalowanie za pomocą apt-get dzięki kombinacji (zmodyfikowanych) pakietów budowania w postaci (zmodyfikowanej) apt-get, config i ruby. w config używam BUNDLE_BUILD__RUBY-FILEMAGIC: --with-magic-dir=/app/.apt/usr/ --with-magic-include=/app/.apt/usr/include --with-magic-lib=/app/.apt/usr/lib

Ostatecznie, ja wciąż to:

/tmp/build_29e629f8a00379850ab44096c10f1afc/vendor/ruby-2.0.0/bin/ruby extconf.rb --with-magic-dir=/tmp/build_29e629f8a00379850ab44096c10f1afc/.apt/usr/ --with-magic-include=/tmp/build_29e629f8a00379850ab44096c10f1afc/.apt/usr/include --with-magic-lib=/tmp/build_29e629f8a`00379850ab44096c10f1afc/.apt/usr/lib 
    checking for main() in -lgnurx... no 
    checking for magic_open() in -lmagic... no 
    *** ERROR: missing required library to compile this module 
    *** extconf.rb failed *** 
    Could not create Makefile due to some reason, probably lack of necessary 
    libraries and/or headers. Check the mkmf.log file for more details. You may 
    need configuration options. 

libmagic nie zostaną zainstalowane w tym katalogu. Jego zawartość jest równoważna zawartości pakietu deb, chociaż wydaje się dość lekka.

Odpowiedz

1

udało mi się uzyskać tej pracy:

.buildpacks:

https://github.com/ddollar/heroku-buildpack-apt#master 
https://github.com/heroku/heroku-buildpack-ruby.git#master 

Aptfile:

libmagic-dev 

Heroku-bundle-config nie było konieczne.

+1

Niestety to nie działa dla mnie na świeżym Heroku zainstalowania, tego samego błędu jak OP – Alex

1

Trzeba dodać heroku-buildpack-magic buildpack przed głównym buildpack

heroku buildpacks:add --index 1 https://github.com/NetsoftHoldings/heroku-buildpack-magic.git