Всякий раз, когда Gem выдает ошибку на Ruby 1.9.3 - такой файл не загружается - PullRequest
2 голосов
/ 30 марта 2012

Я использовал всякий раз, когда gem с ruby ​​1.9.2 без проблем, но я установил ruby ​​1.9.3p125 на свой сервер, и он перестал работать.

Все, что я получаю ниже ошибки в моем файле cron_error.log:

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- bundler/setup (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /home/APP_NAME/config/boot.rb:6
from script/rails:5:in `require'
from script/rails:5

Я проверил пути для rake, gem и ruby, и все находится в "/ usr / local / bin /", и мой путь похож на ниже:

/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/courier-imap/sbin:/usr/lib/courier-imap/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin 

Яборясь с этим часами, любая помощь приветствуется!

Ответы [ 3 ]

2 голосов
/ 30 марта 2012

Вы используете rvm? Возможно, вам придется настроить его на использование 1.9.3. Ваша ошибка показывает, что используется системный ruby ​​по умолчанию, версия 1.8:

/usr/lib/ruby/site_ruby/1.8/...

Вы можете проверить путь с помощью which ruby.

Если ничего не помогает, вы можете попробовать rvm use 1.9.3 --default (при условии, что вы используете rvm)

1 голос
/ 30 марта 2012

Установка ruby ​​не означает, что все драгоценные камни также установлены.

Возможно, вам нужно установить драгоценные камни также в новой установке ruby?


Ваше сообщение об ошибке:в пути ruby ​​1.8, а не в новом установленном ruby ​​1.9.Вы уверены, что используете правильную версию ruby?

Возможно, ваши rails подключены к старой установке ruby ​​1.8?

0 голосов
/ 17 апреля 2012

если вы используете rvm, вы не можете просто:

rvm use 1.9.3 --default

вам также нужно указать набор гемов, поэтому у вас должен быть принят .rvmrc, в котором говорится, что набор гемс важен.

rvm use ruby-1.9.3-p125@rails-3.2.3 --default 

, кажется, тоже работает.

по крайней мере это был мой опыт использования вышеупомянутой версии ruby ​​и rails. Кроме того, всякий раз, когда драгоценный камень будет по умолчанию для производства. поэтому, если вы используете всякий раз, когда создаете задание cron, вы также можете указать:

bundle exec whenever --set 'environment=development' -w
...