【发布时间】:2017-07-12 08:44:03
【问题描述】:
我创建了 Rails 5.1.2 应用并部署到 Heroku。
在本地,一切正常,但部署到 Heroku 时,启动 puma 时出现以下错误。
/app/vendor/bundle/ruby/2.4.0/gems/activerecord-5.1.2/lib/active_record/dynamic_matchers.rb:22:in `method_missing': undefined method `counter_culture' for #<Class:0x00000003296690> (NoMethodError)
我在我的 Gemfile 中将 ruby 版本指定为 2.4.1,
source 'https://rubygems.org'
ruby '2.4.1'
heroku cli 返回 ruby 版本如下。
heroku run "ruby -v"
Running ruby -v on ⬢ my-app... up, run.1200 (Free)
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
但是 puma 的日志说
from /app/vendor/bundle/ruby/2.4.0/
找不到counter_culture gem的方法。
有人知道如何解决这个错误吗?
Heroku CI 测试时,没有出现这个错误。
【问题讨论】:
-
你在heroku上运行
bundle install了吗? -
尝试为生产 gem 'counter_culture', '~> 1.0'安装它
-
发布你的 gemfile
标签: ruby-on-rails ruby heroku counter culture