62
задан 2 September 2011 в 12:54

14 ответов

У меня есть догадка, что у Вас есть две рубиновых версии. Вставьте вывод следующей команды:

$ which -a ruby

обновленный относительно к комментарию:

Уничтожение одна версия и отпуск только один. У меня была та же проблема с двумя версиями, смотрящими на различные местоположения для драгоценных камней. Имел меня сходящий с ума в течение нескольких недель. Поднимите щедрость здесь в ТАК получил меня тот же ответ, который я даю Вам.

Все, что я сделал, было уничтожить одну установку рубина и оставило одно managable через порты. Я предложил бы делать это:

  1. Удаляют рубиновую версию, установленную через порты (конфетка или безотносительно диспетчера пакетов).
  2. Удаляют рубиновую версию, которая шла с ОС (жесткая комната вручную).
  3. версия рубина Установки от портов с другим префиксом (/usr вместо /usr/local)
  4. Переустанавливают rubygems
102
ответ дан 31 October 2019 в 13:10

Просто выполнение /bin/bash --login добилось цели для меня, странно. Не может объяснить это.

0
ответ дан 31 October 2019 в 13:10

Я также встретил ту же проблему с помощью rbenv +, пассажир + nginx. мое решение просто добавляет эти 2 строка кода к конфигурации nginx:

passenger_default_user root;
passenger_default_group root;

подробный ответ здесь: https://stackoverflow.com/a/15777738/445908

0
ответ дан 31 October 2019 в 13:10

Это - первый ответ при поиске с помощью 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'
1
ответ дан 31 October 2019 в 13:10
gem install bundler

устранил проблему для меня.

1
ответ дан 31 October 2019 в 13:10

У меня также была эта проблема. Мое решение, удаляют файл Gemfile.lock и устанавливают драгоценные камни снова: свяжите установку

1
ответ дан 31 October 2019 в 13:10

Я имел подобную проблему и решил это путем установки ENV RUBYLIB

В моей среде, я использовал это:

export RUBYLIB=$ruby_dir/lib/ruby/1.9.1/:$ruby_dir/lib/ruby/1.9.1/i686-linux/:$RUBYLIB
6
ответ дан 31 October 2019 в 13:10

Если у Вас есть несколько установленных рубинов, могло бы быть достаточно только удалить одного из них, на MacosX с дополнительной установкой портов, удалить установку рубина портов с:

sudo port -f uninstall ruby
1
ответ дан 31 October 2019 в 13:10

В случае, если кто-либо еще гуглит эту проблему: Я смог зафиксировать мой путем нахождения неуловимой "rubygems" папки, которую я хотел использовать и добавление его к моей переменной среды $RUBYLIB.

find / -name "rubygems" -print

, После того как Вы находите его, добавьте родительский каталог к своей среде. В ударе, как так:

export RUBYLIB=/path/to/parent

Теперь при выполнении драгоценного камня он должен забрать правильный каталог библиотеки, и Вы являетесь выключенными и рабочими.

11
ответ дан 31 October 2019 в 13:10

Попытайтесь запустить проект с:

./script/server

вместо script/server, если Вы используете рубиновые 1.9.2 (от странная неспособность потребовать конфигурации/начальной загрузки после обновления до рубина 1.9.2 )

12
ответ дан 31 October 2019 в 13:10

Я был бы точно так же, как, чтобы добавить, что в моем случае rubygems не был установлен.

Выполнение sudo apt-get install rubygems решило проблему!

13
ответ дан 31 October 2019 в 13:10

Хорошо, я - новичок 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]

После выполнения, что мой "никакой такой файл" проблема не ушел и мой сценарий начал работать.

18
ответ дан 31 October 2019 в 13:10

У меня была подобная проблема на 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.

После выполнения той установки пакета, за которой следуют.

25
ответ дан 31 October 2019 в 13:10

У меня была подобная проблема, просто запуская тривиальный рубиновый скрипт, который просто потребовал драгоценного камня, который я хотел... получил то сообщение об ошибке. Когда я изменил колдовство от:

ruby test.rb

к

ruby -rubygems test.rb

, Казалось, работал.

6
ответ дан 31 October 2019 в 13:10

Другие вопросы по тегам:

Похожие вопросы: