我有一個使用在Heroku上運行的Mongoid 3的rails應用程序。我剛剛更新它使用獨角獸。當我嘗試將它部署到Heroku的我得到以下錯誤:Unicorn在資產預編譯期間觸發mongoid錯誤
Running: rake assets:precompile
rake aborted!
undefined method `match' for nil:NilClass
/tmp/build_3nnbzpfmnjpns/vendor/bundle/ruby/1.9.1/gems/mongoid-3.0.21/lib/mongoid/sessions/mongo_uri.rb:49:in `initialize'
完整的堆棧跟蹤可以在http://pastebin.com/8YcJHEmS
中查到,但是,如果我從我的Gemfile刪除獨角獸,資產編譯成功。縱觀Mongoid代碼,我可以看到當mongoid.yml文件被解析時發生錯誤,但我無法弄清楚爲什麼Unicorn會導致失敗。 我mongoid.yml文件看起來像這樣:
production:
sessions:
default:
uri: <%= ENV['MONGOHQ_URL'] %>
options:
skip_version_check: true
safe: true
而且我的Gemfile:
source 'https://rubygems.org'
ruby '1.9.3'
gem 'rails', '3.2.11'
gem 'thin'
group :assets do
gem 'sass-rails', '~> 3.2'
gem 'coffee-rails', '~> 3.2'
gem 'uglifier', '>= 1.0.3'
gem "twitter-bootstrap-rails", '>=2.1.8'
gem "bootstrap_form"
end
gem "jquery-rails"
gem 'jquery-ui-rails', "3.0.1"
gem 'newrelic_rpm'
gem "httparty"
gem "resque"
gem "resque-loner"
gem "unicorn", "4.4.0"
gem "mongoid", "~> 3.0.0"
gem "mongo", "~> 1.7.0"
gem "bson", "~> 1.7"
gem "bson_ext", "~> 1.7"
gem 'less-rails', "~> 2.2"
gem 'therubyracer', '>= 0.11.1'
gem 'libv8', '~> 3.11.8'
gem 'devise', '~> 2.1.2'
gem 'devise_invitable', '~> 1.0.0'
gem 'bootstrap_form'
gem 'font-awesome-rails'
gem 'omniauth'
gem 'omniauth-facebook'
gem 'kaminari'
gem 'mongoid_search'
你有任何想法是什麼引起的?
解決了它,謝謝! – AdrienF 2013-02-08 15:43:02
奇怪的是,我有那條線評論*出*,它仍然失敗了這種方式對我來說。 – 2013-07-18 18:39:40
顯然,Rails 4.0不再支持這個功能(它提到它不是必須的),而且我似乎正在收到這個錯誤。 – 2013-07-18 18:50:33