【问题标题】:Unrecognized constant Faker in production mode生产模式下无法识别的常量 Faker
【发布时间】:2019-05-12 17:27:38
【问题描述】:

我正在使用seeds.rb 在以生产模式运行的开发服务器上填充我的数据库。

在种子文件中,我使用 Faker gem 生成随机值。在开发模式下一切正常。但是,如果我尝试在生产模式下播种,则会收到无法识别 Faker 的错误。

宝石文件:

group :production do
   gem 'faker'
end

种子.rb:

require 'faker'

user = User.create(name: Faker::Name.name)

因此,如果我运行 rake db:seed RAILS_ENV=production,我会收到错误消息:NameError: uninitialized constant Faker

有什么建议吗?

【问题讨论】:

  • 你在更改 Gemfile 后运行 bundle install 了吗?
  • 您可以检查您的 Gemfile 并确保生产组包含 Faker。
  • 检查bundle install 是否真的在production 组中安装了gem。你可能会遇到这样的情况:stackoverflow.com/a/30802514/232838.
  • 是的,我确实运行了bundle install。如何检查 gem 是否已安装在生产环境中?我没有.bundle/config 文件。
  • uninitialized constant Faker,但是这个错误来自哪个文件?

标签: ruby-on-rails ruby faker


【解决方案1】:

我从Gemfile 中完全删除了faker gem,然后创建了一个bundle install。之后,我将 gem 添加回文件并再次 bundle install

现在它正在工作。所以问题是,bundle 在我第一次安装时并没有投入生产。

【讨论】:

    猜你喜欢
    • 2021-06-11
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    相关资源
    最近更新 更多