gpt4 book ai didi

ruby-on-rails - Unicorn 在 Assets 预编译期间触发 mongoid 错误

转载 作者:行者123 更新时间:2023-12-04 01:42:45 25 4
gpt4 key购买 nike

我有一个在 Heroku 上运行的使用 Mongoid 3 的 rails 应用程序。我刚刚更新它以使用 Unicorn。当我尝试将其部署到 Heroku 时,出现以下错误:

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 中删除 Unicorn, Assets 编译就会成功。查看 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'

你知道是什么原因造成的吗?

最佳答案

rails 3:

预编译 Assets 时尝试关闭应用程序初始化:

# config/application.rb
config.assets.initialize_on_precompile = false

该行应该已经被注释掉了。

关于ruby-on-rails - Unicorn 在 Assets 预编译期间触发 mongoid 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14775844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com