语境:
- 我有一个大量使用 GSL 库及其 Ruby 绑定的应用程序。
- 我想将该应用程序部署到 Heroku。一般来说,我对编程非常陌生,部署少得多,而且 Heroku 使用起来非常简单,尤其是对于 Rails 应用程序。
- 我的笔记本电脑上安装了 GSL。我正在使用“gsl”宝石。
问题:
- gem 要求已安装 GSL 库。
- Heroku 环境中尚未安装 GSL。
所以,不出所料,我从 Heroku 收到了这个错误
git push heroku master
-----> Heroku receiving push -----> Removing .DS_Store files -----> Ruby/Rails app detected -----> Installing dependencies using Bundler version 1.2.0.rc Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment ... Installing gsl (1.14.7) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/local/bin/ruby extconf.rb checking gsl version... *** 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. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/local/bin/ruby extconf.rb:237:in `rescue in <main>': Check GSL>=0.9.4 is installed, and the command "gsl-config" is in search path. (RuntimeError) from extconf.rb:138:in `<main>'
(可能的)解决方案:
- 似乎使用 Heroku 的 buildpacks 是可能的路线。 这(打包二进制 buildpack 依赖项)似乎很有希望。
- 我只是不明白教程中发生了什么,或者如何使用 vulcan。
我所希望的:
- 关于如何使 GSL 库可用于我在 Heroku 上的应用程序的易于理解的解释。
非常感谢!!