Gemfile の新しい gem を使用して heroku アプリを再デプロイしようとすると、起動時にクラッシュします
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require': libruby.so.1.9: cannot open shared object file: No such file or directory - /app/vendor/bundle/ruby/1.9.1/gems/bcrypt-ruby-3.0.1/lib/bcrypt_ext.so (LoadError)
これは、展開するブランチ (古い安定したもの...) に関係なく発生し、heroku rollback
.
これは、 Heroku app crashes with 'libruby.so.1.9: cannot open shared object file' という問題が発生していたため、heroku が最近 Ruby 1.9.3 を更新したことが原因であると考えています。nokogiri gem を削除すると、発生していた例外が停止しましたが、まだこれがあります。新しい gem を追加すると、同様のエラーがさらに発生します。
新しいherokuアプリにデプロイすることで問題全体が解決しましたが、それは本番サーバーでできることではありません。
問題を修正するか、何らかの形でアプリを「更新」するためのアイデアはありますか?
私の宝石ファイル:
source "https://rubygems.org"
ruby "1.9.3"
gem "rails", "3.2.3"
gem "thin"
# Bundle edge Rails instead:
# gem "rails", :git => "git://github.com/rails/rails.git"
gem "mongoid"
gem "devise"
gem "haml"
gem "sass"
gem "exceptional"
gem "kaminari"
gem "mongoid_search"
#gem "nokogiri"
gem "bson_ext"
gem "heroku-mongo-backup"
gem "aws-s3"
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem "haml-rails", "~> 0.3.4"
gem "sass-rails", "~> 3.2.3"
gem "coffee-rails", "~> 3.2.1"
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem "therubyracer", :platform => :ruby
gem "uglifier", ">= 1.0.3"
end
gem "jquery-rails"
group :test do
gem "mongoid-rspec"
end
# To use ActiveModel has_secure_password
# gem "bcrypt-ruby", "~> 3.0.0"
# To use Jbuilder templates for JSON
# gem "jbuilder"
# Use unicorn as the app server
# gem "unicorn"
# Deploy with Capistrano
# gem "capistrano"
# To use debugger
# gem "ruby-debug19", :require => "ruby-debug"
#
group :development do
gem "letter_opener"
end