Не удалось найти i18n-0.6.0 ни в одном из источников

Я только что обновился с Rails 3.0.3 до 3.2.1. Обновление прошло гладко на моем Mac, но у меня возникли проблемы с запуском экземпляра 3.2.1 моего приложения на рабочем сервере Ubuntu. Ошибка, которую я получаю, заключается в следующем:

Could not find i18n-0.6.0 in any of the sources (Bundler::GemNotFound)

Очевидно, у других людей была такая же проблема раньше. К сожалению, приведенное здесь решение мне не помогает. Выполнение sudo bundle install, похоже, не имеет значения.

Я также нашел этот пост, но я не понимаю, что именно ОП сделал это, чтобы решить проблему.

Также есть этот пост, но проблема ОП просто исчезла сама собой.

И у меня установлен гем i18n:

$ gem list | grep i18n
i18n (0.6.0, 0.5.0)

Я понятия не имею, что может быть не так. Есть идеи?


person Jason Swett    schedule 28.02.2012    source источник
comment
Можете ли вы запустить bundle list | grep i18n и вывести это, пожалуйста?   -  person TheDelChop    schedule 29.02.2012
comment
какая команда, которую вы пытаетесь запустить, дает вам ошибку?   -  person TheDelChop    schedule 29.02.2012
comment
Я просто получаю это, когда пытаюсь загрузить свое приложение в браузере.   -  person Jason Swett    schedule 29.02.2012
comment
Просто чтобы уточнить, ссылка в вашем посте предлагает НЕ использовать установку пакета sudo   -  person dangerousdave    schedule 04.06.2012


Ответы (4)


У меня была точно такая же ошибка. Вы используете rvm и пассажир?

Если у вас был установлен rvm до начала установки пассажира, после того, как пассажир завершит свою установку, он даст вам инструкции по обновлению конфигурации apache примерно так:

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p125@global/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p125@global/gems/passenger-3.0.11
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p125@global/ruby

Я установил пассажира с глобальным набором драгоценных камней, но позже я создал другой набор драгоценных камней, который я использовал для своего приложения (давайте назовем этот новый драгоценный камень «foo»).

Решение, которое сработало для меня, состояло в том, чтобы изменить «global» на «foo» в 3-й строке:

PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p125@foo/ruby
person draganstankovic    schedule 28.03.2012
comment
Спасибо за ваш ответ @draganstankovic, но на самом деле это не решение. Весь смысл глобального гемсета в том, что он может использоваться многими приложениями. - person dangerousdave; 04.06.2012
comment
@dangerousdave Пожалуйста, прочитайте еще раз мой ответ. Суть в том, чтобы синхронизировать пассажира с любым гемсетом, который он использует. (будь то global, foo или bar, не имеет значения) - person draganstankovic; 08.06.2012

bundle install --deployment работал на меня.

person Keith    schedule 31.10.2013
comment
Запуск установки пакета исправил это для меня. - person csalmeida; 23.01.2020

Файл .rvmrc в корне вашего приложения решает эту проблему. Через документацию по rvm:

# my-app-name/.rvmrc
if [[ -s "/Users/sutto/.rvm/environments/ree-1.8.7-2010.02@my-app-name" ]] ; then
  . "/Users/sutto/.rvm/environments/ree-1.8.7-2010.02@my-app-name"
else
  rvm --create use  "ree-1.8.7-2010.02@my-app-name"
fi

Замените правильным пользователем, версией Ruby и набором драгоценных камней, где это применимо. (У пользователей Linux, вероятно, будет home/username/.rvm...)

Теперь давайте добавим setup_load_paths.rb, чтобы у пассажира были правильные пути (здесь не нужно ничего менять):

# my-app-name/config/setup_load_paths.rb
if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
  begin
    require 'rvm'
    RVM.use_from_path! File.dirname(File.dirname(__FILE__))
  rescue LoadError
    raise "RVM gem is currently unavailable."
  end
end

# If you're not using Bundler at all, remove lines bellow
ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', File.dirname(__FILE__))
require 'bundler/setup'
person d3vkit    schedule 22.06.2012

У меня была та же проблема, и я понял, что использую jRuby для рейка (я использовал RVM). С Ruby все прошло без проблем :)

Поэтому убедитесь, что вы используете Ruby вместо jRuby. На всякий случай, если вы также используете RVM, используйте:

rvm list

Чтобы получить список всех установленных рубинов и

rvm use ruby-...

Чтобы выбрать его.

person Sebastian Neira    schedule 18.02.2013
comment
Это сработало для меня и имеет больше смысла, чем переименование global в foo - person 1dayitwillmake; 05.04.2013