Неизвестная константа Faker в рабочем режиме

Я использую seeds.rb для заполнения моей базы данных на моем сервере разработки, работающем в производственном режиме.

Внутри файла seed я использую гем Faker для генерации случайных значений. В режиме разработки все работает нормально. Но если я попытаюсь раздать в рабочем режиме, я получаю сообщение об ошибке, что Faker не распознан.

Gemfile:

group :production do
   gem 'faker'
end

Семена.рб:

require 'faker'

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

Поэтому, если я запускаю rake db:seed RAILS_ENV=production, я получаю сообщение об ошибке: NameError: uninitialized constant Faker.

Любой совет?


person crispychicken    schedule 11.12.2018    source источник
comment
Вы запускали bundle install после изменения Gemfile?   -  person Martin Zinovsky    schedule 11.12.2018
comment
Вы можете проверить свой Gemfile и убедиться, что производственная группа включает Faker.   -  person Kevin W.    schedule 11.12.2018
comment
Проверьте, действительно ли bundle install установил гем в группе production. Вы можете столкнуться с чем-то вроде этого: stackoverflow.com/a/30802514/232838.   -  person koffeinfrei    schedule 11.12.2018
comment
Да, я запускал bundle install. Как мне проверить, установлен ли драгоценный камень в производстве? У меня нет файла .bundle/config.   -  person crispychicken    schedule 11.12.2018
comment
uninitialized constant Faker, а из какого файла эта ошибка?   -  person Casper    schedule 11.12.2018
comment
это исходит от seeds.rb   -  person crispychicken    schedule 11.12.2018
comment
@crispychicken проверить по «списку жемчужин»   -  person oren    schedule 11.12.2018


Ответы (1)


Я полностью удалил драгоценный камень faker из Gemfile, а затем сделал bundle install. После этого я добавил гем обратно в файл и снова bundle install.

Теперь это работает. Итак, проблема заключалась в том, что пакет не запустил его в производство при первой установке.

person crispychicken    schedule 11.12.2018