Я получаю сообщение об ошибке при попытке запустить мой сервер rails, который не может (carrier_wave) не может загрузить туман
Я не знаю почему, но теперь, когда я пытаюсь запустить сервер rails, либо с rails s
или же bundle exec rails s
Я получаю эту ошибку:
active_support/dependencies.rb:274:in 'require': cannot load such file -- fog (LoadError)
Это работало, и теперь это не начнется.
Работали несущая волна и туман, и оба камня были установлены
РЕДАКТИРОВАТЬ:
Вот Gemfile, извините, это ссылка на гист, но SO решил, что в моем посте слишком много кода, и поэтому не позволил мне отправить, так что пока это гист.
РЕДАКТИРОВАТЬ: Вот гистограмма, содержащая параметры конфигурации для carrierwave, у нас есть параметры конфигурации в файлах среды, поэтому я просто скопировал блоки кода в один файл для этой цели, я, очевидно, удалил личную информацию, все остальное нетронутым.
2 ответа
Просто по прихоти я добавил fog
драгоценный камень в Gemfile и... проблема ушла, я имею в виду, проблема все еще существует, но она не связана с этим. Я думал, что вам не нужно использовать fog
если вы используете fog-aws
плюс, почему это работало раньше, а не сейчас?
Кажется, что вы пропустили (по крайней мере) строку из вашего carrierwave.rb
Конфигурационный файл Если вы используете fog-aws
драгоценный камень, вам нужно включить следующую строку:
config.fog_provider = 'fog/aws'
Прочтите readme на сайте carrierwave, и вы увидите, что строка закомментирована как "обязательная" в официальном образце кода перед настройкой хэша учетных данных.
Редактировать:
Только что нашел Carrierwave Issue 1648, который, кажется, поддерживает это решение.
Изменить 2:
Я знаю, что вы можете запустить Carrierwave с fog-aws
драгоценный камень и конфиг, который я указал или с fog
драгоценный камень без этой линии. Я бы предложил закомментировать строку конфигурации и попробовать просто fog
драгоценный камень.
Следующее, что нужно попробовать, это убедиться, что вы используете версию Carrierwave, которая существовала, когда ваша версия Rails была текущей. использование bundle show carrierwave
из домашнего каталога вашего приложения, чтобы увидеть установленную версию и рассмотреть возможность понижения до 0.10.0, который был бы актуален, когда Rails 4.2.9 был текущим, просто чтобы посмотреть, что произойдет. Может быть, кто-то побежал bundle update
и сломал приложение, потому что, хотя в вашем gemfile указана версия Rails, для Carrierwave нет конкретной версии. Обновление одного без другого может быть тем, что сломало ваше приложение.
Обычно я не могу предлагать реверсию файла, потому что readme Carrierwave явно заявляет, что текущая версия работает на Rails 4 или выше, но должно быть какое-то объяснение того, почему ваше приложение раньше выглядело хорошо и сейчас показывает проблемы. Вероятно, стоит немного поразмышлять над этим вопросом.