1

コンテクスト:

  • GSLライブラリとそのRubyバインディングを多用するアプリケーションがあります。
  • アプリをHerokuにデプロイしたいと思います。私はプログラミング全般に非常に慣れておらず、デプロイメントははるかに少なく、Herokuは、特にRailsアプリの場合は非常に簡単に使用できます。
  • ラップトップにGSLをインストールしています。'gsl'gemを使用しています。

問題:

  • gemには、GSLライブラリがすでにインストールされている必要があります。
  • GSLはHeroku環境にまだインストールされていません。
  • したがって、当然のことながら、このエラーは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のビルドパックを使用するのがおそらくルートのようです。 これ(バイナリビルドパックの依存関係のパッキング)は有望なようです。
  • チュートリアルで何が起こっているのか、またはバルカンの使い方がわかりません。

私が望んでいること:

  • HerokuのアプリケーションでGSLライブラリを利用できるようにする方法のわかりやすい説明。

どうもありがとう!!

4

1 に答える 1

1

ちょっとトム(トムという名前の2人がherokuでruby-gslを使用する必要がある可能性はどのくらいですか?)私はまだテストしていません(私は自分が何をしているのか正確にはわかりませんし、実際には持っていませんアプリはまだテストする準備ができています)が、おそらくこれは機能します:

heroku-buildpack-gsl-ruby

そうでなければ、まあ、私たちはそれを維持します;)

現在最新のgsl1.15です。

将来的 には、gslの代わりにpackage_nodejsのようなものがいいかもしれません(readmeのハッキングセクションを参照)。おそらくすぐに追加します(コピー/貼り付け、震え、DRYではありません)。

于 2012-09-19T01:10:04.560 に答える