В настоящее время я работаю над проектом, который требует гем ZXing (http://rubydoc.info/gems/zxing/0.3.1/frames) для декодирования изображений штрих-кодов. В моих попытках установить драгоценный камень локально я столкнулся с некоторыми сложностями с зависимостями, но они были решены добавив ffi (http://rubygems.org/gems/ffi) и spoon (http://rubygems.org/gems/spoon) gems) в мой Gemfile, в дополнение к jruby-jars. Теперь все отлично работает на моих локальных компьютерах (iMac и MacBook Pro, оба работают под управлением Lion Однако, когда я пытаюсь отправить приложение в 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 git@heroku.application-testing-account:integrating-zxing-on-heroku.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.application-testing-account:integrating-zxing-on-heroku.git'
Проблема, по-видимому, вызвана самоцветом ZXing и / или его зависимостями (ffi, spoon). Если я удалю zxing из своего Gemfile, Heroku скомпилирует приложение, и все будет отлично. После повторного добавления драгоценного камня у меня возникают те же проблемы. Я также пытался установить config.assets.initialize_on_precompile в true и false в моем application.rb, но безрезультатно. Я немного озадачен тем, что делать сейчас.
Мое приложение находится в стеке Cedar и использует PostgreSQL при разработке и производстве.
Может ли кто-нибудь предложить какие-либо предложения?