У меня есть догадка, что у Вас есть две рубиновых версии. Вставьте вывод следующей команды:
$ which -a ruby
обновленный относительно к комментарию:
Уничтожение одна версия и отпуск только один. У меня была та же проблема с двумя версиями, смотрящими на различные местоположения для драгоценных камней. Имел меня сходящий с ума в течение нескольких недель. Поднимите щедрость здесь в ТАК получил меня тот же ответ, который я даю Вам.
Все, что я сделал, было уничтожить одну установку рубина и оставило одно managable через порты. Я предложил бы делать это:
/usr
вместо /usr/local
) rubygems
Просто выполнение /bin/bash --login
добилось цели для меня, странно. Не может объяснить это.
Я также встретил ту же проблему с помощью rbenv +, пассажир + nginx. мое решение просто добавляет эти 2 строка кода к конфигурации nginx:
passenger_default_user root;
passenger_default_group root;
подробный ответ здесь: https://stackoverflow.com/a/15777738/445908
Это - первый ответ при поиске с помощью Google 'require': cannot load such file -- ubygems (LoadError)
после того, как Google автоматически корректировал "ubygems" к "rubygems". Оказывается, что это было намеренным изменением между Ruby 2.4 и 2.5 ( Ошибка № 14322 ). Сценарии, которые обнаруживают пользовательский каталог драгоценных камней, не принимая во внимание рубиновую версию, скорее всего, перестанут работать.
Ruby 2.4
ruby -rubygems -e 'puts Gem.user_dir'
Ruby 2.5
ruby -rrubygems -e 'puts Gem.user_dir'
gem install bundler
устранил проблему для меня.
У меня также была эта проблема. Мое решение, удаляют файл Gemfile.lock и устанавливают драгоценные камни снова: свяжите установку
Я имел подобную проблему и решил это путем установки ENV RUBYLIB
В моей среде, я использовал это:
export RUBYLIB=$ruby_dir/lib/ruby/1.9.1/:$ruby_dir/lib/ruby/1.9.1/i686-linux/:$RUBYLIB
Если у Вас есть несколько установленных рубинов, могло бы быть достаточно только удалить одного из них, на MacosX с дополнительной установкой портов, удалить установку рубина портов с:
sudo port -f uninstall ruby
В случае, если кто-либо еще гуглит эту проблему: Я смог зафиксировать мой путем нахождения неуловимой "rubygems" папки, которую я хотел использовать и добавление его к моей переменной среды $RUBYLIB.
find / -name "rubygems" -print
, После того как Вы находите его, добавьте родительский каталог к своей среде. В ударе, как так:
export RUBYLIB=/path/to/parent
Теперь при выполнении драгоценного камня он должен забрать правильный каталог библиотеки, и Вы являетесь выключенными и рабочими.
Попытайтесь запустить проект с:
./script/server
вместо script/server
, если Вы используете рубиновые 1.9.2 (от странная неспособность потребовать конфигурации/начальной загрузки после обновления до рубина 1.9.2 )
Я был бы точно так же, как, чтобы добавить, что в моем случае rubygems
не был установлен.
Выполнение sudo apt-get install rubygems
решило проблему!
Хорошо, я - новичок Ruby, но я действительно получал зафиксированный немного по-другому, чем ответы здесь, таким образом, надо надеяться, это помогает кому-то еще (tl; доктор: Я использовал RVM для переключения системы версия Ruby на того же ожидаемого rubygems).
Прежде всего, перечисляя все Рубины, как упомянуто Eimantas был большой начальной точкой:
> which -a ruby
/opt/local/bin/ruby
/Users/Brian/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
/Users/Brian/.rvm/bin/ruby
/usr/bin/ruby
/opt/local/bin/ruby
экземпляр Ruby по умолчанию, используемый системой, казалось, был 1.8.7:
> ruby -v
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-darwin10]
, в то время как версия, используемая Rubygems, была 1.9.2 версиями, управляемыми RVM:
> gem env | grep 'RUBY EXECUTABLE'
- RUBY EXECUTABLE: /Users/Brian/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
Так, чтобы была определенно проблема. Я активно не использую Ruby сам (это - просто зависимость скрипта системы сборки, который я пытаюсь запустить), таким образом, я не заботился, какая версия была активна для других целей. Так как rubygems ожидал 1.9.2, которым уже управлял RVM, я просто использовал RVM для переключения системы для использования 1.9.2 версий в качестве значения по умолчанию:
> rvm use 1.9.2
Using /Users/Brian/.rvm/gems/ruby-1.9.2-p290
> ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.3.0]
После выполнения, что мой "никакой такой файл" проблема не ушел и мой сценарий начал работать.
У меня была подобная проблема на Ubuntu из-за наличия нескольких копий установленного рубина. (1.8 и 1.9.1), К сожалению, мне нужны они оба. Решение состоит в том, чтобы использовать:
$ sudo update-alternatives --config ruby
There are 2 choices for the alternative ruby (providing /usr/bin/ruby).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/ruby1.8 50 auto mode
1 /usr/bin/ruby1.8 50 manual mode
2 /usr/bin/ruby1.9.1 10 manual mode
Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/ruby1.9.1 to provide /usr/bin/ruby (ruby) in manual mode.
После выполнения той установки пакета, за которой следуют.
У меня была подобная проблема, просто запуская тривиальный рубиновый скрипт, который просто потребовал драгоценного камня, который я хотел... получил то сообщение об ошибке. Когда я изменил колдовство от:
ruby test.rb
к
ruby -rubygems test.rb
, Казалось, работал.