我将使用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)
Run Code Online (Sandbox Code Playgroud)
无论我部署什么分支(旧的稳定的分支......)并且只通过执行修复,这种情况就会发生heroku rollback.
我相信这是由heroku最近更新他们的ruby 1.9.3引起的,因为我有这个问题Heroku应用程序崩溃'libruby.so.1.9:无法打开共享对象文件'.删除nokogiri宝石阻止了我得到的例外但是仍然有这个.添加新宝石时会出现更多类似的错误.
通过部署到新的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
# …Run Code Online (Sandbox Code Playgroud) 我正在将生产应用程序从竹堆迁移到雪松,我成功地将应用程序推到雪松上,但导致错误
LoadError: Could not open library 'lib.so': lib.so: cannot open shared object file: No such file or directory
from /app/vendor/bundle/ruby/1.9.1/gems/ffi-1.0.9/lib/ffi/library.rb:75:in `block in ffi_lib'
from /app/vendor/bundle/ruby/1.9.1/gems/ffi-1.0.9/lib/ffi/library.rb:54:in `map'
from /app/vendor/bundle/ruby/1.9.1/gems/ffi-1.0.9/lib/ffi/library.rb:54:in `ffi_lib'
Run Code Online (Sandbox Code Playgroud)
0.1.3/lib/tidy_ffi/interface.rb:5:in''
看起来在竹堆上存在的Cedar堆栈上缺少一些原生库.就我而言,它的libtidy.so.
我怎样才能解决这个问题?