Heroku/Rails: How to install the GNU Scientific Li

2019-05-01 04:18发布

I need to install the GSL library on Heroku running a Rails (4.0.2) app to use some gems that depend on it.

Goal: Install the GSL library to work with GSL and Similarity gems in Heroku.

Tried approaches:

I've tried following these steps (compiling binaries):

It works on my local environment but not in Heroku. Heroku doesn't allow sudo but it allows access with heroku run. The problem is that the file system is ephemeral and the dyno will only live as long as your console session.

Update:

I've also tried building my own Heroku Buildpack but I couldn't make it work. I tried using multipacks. I'm not a Heroku Buildpack expert so maybe it's the problem, I'm learning more about it to make a simple repository with an example and an extended explanation of this issue.

3条回答
Viruses.
2楼-- · 2019-05-01 04:23

You'll need to use a custom buildpack. Buildpacks allow you to define any additional dependencies outside of your project and package them with your slug which is used by the dynos. The buildpack you linked to (https://github.com/tomwolfe/heroku-buildpack-gsl-ruby) would be your best bet in getting everything working. I would open issues on their github repo if you are having issues, hopefully they can help you out

查看更多
The star\"
3楼-- · 2019-05-01 04:33

I had to use gsl1.16 on heroku and here is how I solved it:

First added gsl1.16 buildpack to the lists of buildpacks like

heroku buildpacks:add --index:3 git://github.com/gregory/heroku-gsl-buildpack.git#gsl-1.16

Which adds to my list of buildpacks, in my case got nodejs and ruby already. Hence --index=3

Then had to set LD_LIBRARY_PATH on heroku like

heroku config:set LD_LIBRARY_PATH=/app/vendor/gsl/lib

which points to 1.16. Seen around that some people use /app/vendor/gsl1/lib but wasn't my case.

and that's it.

查看更多
我命由我不由天
4楼-- · 2019-05-01 04:34

I made a heroku buildpack a couple months ago for 1.15 and 1.16

just do:

heroku buildpacks:set git://github.com/gregory/heroku-gsl-buildpack.git#gsl-1.16

or

heroku buildpacks:set git://github.com/gregory/heroku-gsl-buildpack.git#gsl-1.15

查看更多
登录 后发表回答