我将使用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) 为什么该File.read方法在http://ruby-doc.org/core-2.3.3/File.html中没有记录,当它明确存在时:
$ irb
irb(main):001:0> File.read('readme.md')
=> "hello world"
Run Code Online (Sandbox Code Playgroud)