私は現在、バーコードの画像をデコードするためにZXing gem(http://rubydoc.info/gems/zxing/0.3.1/frames)が必要なプロジェクトに取り組んでいます。ローカルで宝石をインストールしようとしたところ、依存関係についていくつか問題がありましたが、ffi(http://rubygems.org/gems/ffi)とスプーン(http://rubygems.org/gems/spoon)の宝石を私のGemfileに加えて解決しました。 jruby-jarsへ。現在、ローカルマシン(iMacとMacBook Pro、ともにLionを実行している)ですべてが正常に動作しています。しかし、私はHerokuのにアプリケーションをプッシュしようとすると、端末は数分間次の行にハング:ZXing/FFI/Spoon Gemによって発生するHerokuへのエラー
-----> Writing config/database.yml to read from DATABASE_URL
そして、最終的には私にエラーメッセージが表示できます:
/app/slug-compiler/lib/utils.rb:62:in `block (2 levels) in spawn': command='/app/slug-compiler/lib/../buildpacks/ruby/bin/compile /tmp/build_31wo219fllz4d /app/tmp/repo.git/.cache' exit_status=0 out='' event=timeout elapsed=581.3388702869415 (Utils::TimeoutError)
from /app/slug-compiler/lib/utils.rb:48:in `loop'
from /app/slug-compiler/lib/utils.rb:48:in `block in spawn'
from /app/slug-compiler/lib/utils.rb:44:in `popen'
from /app/slug-compiler/lib/utils.rb:44:in `spawn'
from /app/slug-compiler/lib/buildpack.rb:35:in `block in compile'
from /app/slug-compiler/lib/buildpack.rb:33:in `fork'
from /app/slug-compiler/lib/buildpack.rb:33:in `compile'
from /app/slug-compiler/lib/slug.rb:464:in `block in run_buildpack'
from /app/slug-compiler/lib/utils.rb:117:in `log'
from /app/slug-compiler/lib/slug.rb:702:in `log'
from /app/slug-compiler/lib/slug.rb:463:in `run_buildpack'
from /app/slug-compiler/lib/slug.rb:107:in `block (2 levels) in compile'
from /app/slug-compiler/lib/utils.rb:98:in `block in timeout'
from /usr/local/lib/ruby/1.9.1/timeout.rb:58:in `timeout'
from /app/slug-compiler/lib/utils.rb:98:in `rescue in timeout'
from /app/slug-compiler/lib/utils.rb:93:in `timeout'
from /app/slug-compiler/lib/slug.rb:96:in `block in compile'
from /app/slug-compiler/lib/utils.rb:117:in `log'
from /app/slug-compiler/lib/slug.rb:702:in `log'
from /app/slug-compiler/lib/slug.rb:95:in `compile'
from /app/slug-compiler/bin/slugc:85:in `block in <main>'
from /app/slug-compiler/lib/slug.rb:472:in `block in lock'
from /app/slug-compiler/lib/repo_lock.rb:44:in `call'
from /app/slug-compiler/lib/repo_lock.rb:44:in `run'
from /app/slug-compiler/lib/slug.rb:472:in `lock'
from /app/slug-compiler/bin/slugc:66:in `<main>'
! Heroku push rejected, failed to compile Ruby/rails app
To [email protected]:integrating-zxing-on-heroku.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:integrating-zxing-on-heroku.git'
を問題があると思われますZXing gemやその依存関係(ffi、spoon)に起因するものです。私のGemfileからzxingを削除すると、Herokuはアプリケーションをコンパイルし、すべて正常に動作します。この宝石を再追加すると、同じ問題が発生します。私はconfig.assets.initialize_on_precompileをtrueとfalseの両方に設定しようとしましたが、application.rbでは使用できません。私は今何をすべきかについて、まるで困惑しています。
私のアプリケーションはCedarスタック上にあり、開発と生産にはPostgreSQLを使用しています。
提案はありますか?
これは、コンパイルエラーではなく、コンパイルフェーズ中のプッシュプロセスのタイムアウトのように見えます。 私はzxingの著者であり、実際には「宝石」が何であるか分かりません。私はこれが何を引っ張っているのか分かりませんが、問題がある場合は、誰かがこれをパッケージ化し、コード自体とは関係がありません。 –
私が物事を正しく読んでいれば、ZXingの宝石はJRubyを動作させる必要があります...これは正しいですか?もしそうなら、私はそれがHerokuで動作するとは思わない。 –