Heroku에서 실행되는 Mongoid 3을 사용하는 레일 앱이 있습니다. 유니콘을 사용하도록 업데이트했습니다.자산 사전 컴파일시 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에서 유니콘을 제거하는 경우, 자산 컴파일이 성공 할 수있다 : 나는에게 Heroku에 배포 할 때 나는 다음과 같은 오류가 발생합니다. Mongoid 코드를 살펴보면, mongoid.yml 파일이 파싱 될 때 오류가 발생하는 것을 볼 수 있습니다. 그러나 Unicorn이 실패하게 만드는 원인을 알 수는 없습니다. 내 mongoid.yml 파일은 다음과 같다 :
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'
이 원인을 어떤 생각을 가지고겠습니까 :
production:
sessions:
default:
uri: <%= ENV['MONGOHQ_URL'] %>
options:
skip_version_check: true
safe: true
그리고 내 Gemfile?
해결해 줘서 고마워! – AdrienF
이상하게 생각하지만, 나는 그 라인을 * out *으로 주석 처리했습니다. 그리고 그것은 여전히 저에게 이런 식으로 실패합니다. –
분명히 이것은 Rails 4.0에서 더 이상 지원되지 않습니다. (꼭 필요한 것은 아닙니다.)이 오류가 발생하는 것 같습니다. –