Установка Rails Path в Ubuntu с помощью RVM - PullRequest
24 голосов
/ 19 августа 2010

Я - Linux-нуб, использующий Ubuntu 10.04 и пытающийся установить rails.Сначала я установил ruby, а затем RVM, а затем загрузил и установил rubygems, а затем установил rails.

Кажется, что Rails отвечает только в том случае, если перед командой отображается «sudo».Если я пишу 'rails new test' в терминале, я получаю это:

/usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate'
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem'
    from /usr/bin/rails:18

Если я иду в терминал и пишу 'rails -v', я получаю то же самое:

   /usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
        from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate'
        from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem'
        from /usr/bin/rails:18

И если я иду в терминал и пишу 'sudo rails -v', я получаю следующее: Rails 3.0.0.rc

'окружение gem' дает мне это:

RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.9.2 (2010-07-11 patchlevel -1) [i686-linux]
  - INSTALLATION DIRECTORY: /home/josh/.rvm/gems/ruby-1.9.2-rc2@rails3tutorial
  - RUBY EXECUTABLE: /home/josh/.rvm/rubies/ruby-1.9.2-rc2/bin/ruby
  - EXECUTABLE DIRECTORY: /home/josh/.rvm/gems/ruby-1.9.2-rc2@rails3tutorial/bin

Я подозреваю, что мой путь не установлен правильно, но я не уверен, как это исправить.Предложения?

Ответы [ 9 ]

45 голосов
/ 17 апреля 2011

Я также столкнулся с этой проблемой при чистой установке Ubuntu 10.10 ... даже после установки предварительных требований rvm и ruby, задокументированных "$ rvm notes".

Кажется, проблема в том, что установка gem "rvm" не может найти установку zlib системы. Приведенный выше комментарий Даниэля - отличный комментарий. Жаль, что он не указан в качестве ответа.

Таким образом, для меня решение состояло в том, чтобы следовать инструкциям, указанным Даниэлем в: https://rvm.beginrescueend.com/packages/zlib/.

$ rvm pkg install zlib
$ rvm remove 1.9.2
$ rvm install 1.9.2

Первая команда устанавливает zlib локально в вашу область rvm. Вторая команда удаляет ruby ​​1.9.2, а третья команда переустанавливает ruby ​​1.9.2 с помощью rvm-local zlib.

После этого установите версию ruby ​​и установите гемы:

$ rvm use 1.9.2
$ gem install "what"

17 голосов
/ 19 августа 2010

Я предполагаю, что вы установили свои драгоценные камни, используя sudo (например, sudo gem install rails). Когда вы используете sudo для установки, RVM игнорируется и используется системный ruby.

При использовании RVM вы на самом деле не хотите устанавливать с sudo (обратите внимание, что есть команда rvmsudo, чтобы запустить настройку RVM через sudo, но вы действительно редко будете использовать это). Как вы можете видеть из своей среды, ваши драгоценные камни будут храниться в /home/josh/.rvm/gems/ruby-1.9.2-rc2@rails3tutorial/gems, где вам не нужны права root для установки.

Так что попробуйте:

gem install rails

как вы сами и посмотрите, все ли работает.

7 голосов
/ 18 октября 2011

Если вы получаете это предупреждение, «ОШИБКА: Команда загрузки: обновить (LoadError) нет такого файла для загрузки - zlib»

В основном, если библиотека zlib не существует во время компиляцииruby, вам просто нужно вернуться и установить библиотеку, а затем заново скомпилировать ruby.

Итак, попробуйте эти шаги

  1. Удаление ruby ​​

    rvm remove ruby-1.9.2

  2. Установите необходимые библиотеки

    sudo apt-get установите build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  3. Переустановите ruby ​​

    rvm install 1.9.2

  4. Возможно, вы захотите установить эту версию ruby ​​по умолчанию

    rvm use 1.9.2 --default

  5. Просто для безопасностизакройте терминал, который у вас открыт, и откройте новый.Вам должно быть хорошо идти отсюда.

2 голосов
/ 25 июля 2011

Решение :

apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

Тогда:

rvm install ruby-1.9.2-p290
rvm default 1.9.2
2 голосов
/ 07 декабря 2010

Как сказал Роб Ди Марко выше, вы не можете использовать sudo gem install rails с RVM (см. Документацию RVM ).

Я на самом деле только что задал очень похожий вопрос. Первоначально я установил rails с помощью sudo gem, и когда я попытался установить более старую версию rails с использованием RVM, я столкнулся с этой проблемой. Это был мой код:

rvm use 1.8.7
rvm gemset create rails3.0.1
rvm 1.8.7@rails3.0.1
sudo gem install rails --version=3.0.1 #the *sudo* in this line is WRONG

Другой пользователь (zetetic) предложил удалить ваши "sudo gem rails" с помощью следующей команды:

sudo gem uninstall rails

А затем установить снова без sudo - gem install rails

После того, как я все это сделал, я повторил свой исходный код, и он заработал, но на этот раз без sudo:

rvm use 1.8.7
rvm gemset create rails3.0.1
rvm 1.8.7@rails3.0.1
gem install rails --version=3.0.1

Приведенный выше код может иметь отношение только к вам, если вы пытаетесь использовать RVM, но для решения вашей проблемы попробуйте удалить направляющие sudo и переустановить без sudo. Работал на меня. Удачи!

0 голосов
/ 08 июня 2012
  1. сначала, установите необходимые библиотеки

    sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  2. затем переустановите ruby ​​1.9.2

    rvm переустановите 1.9.2 && rvm use 1.9.2

0 голосов
/ 06 ноября 2010

если вы устанавливаете через источник

ext/Setup and uncomment the zlib line

$ ./configure
$ make
$ sudo make install

$ ruby -v
=> ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]

$ gem -v
=> 1.3.7
0 голосов
/ 13 сентября 2010

Нет, все мои драгоценные камни установлены без sudo .

Вот некоторая отладочная информация, которая может помочь.

$ PATH до rvm 1.9.2 --passenger

/ дома / Кевин / .rvm / драгоценные камни / рубиново-1.9.2-p0 / бен: /home/kevin/.rvm/gems/ruby-1.9.2-p0@global/bin: /home/kevin/.rvm/rubies/ruby-1.9.2-p0/bin:/home/kevin/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/ USR / бен: / SBIN: / USR / игры

$ PATH после rvm 1.9.2 --passenger

/ дома / Кевин / .rvm / драгоценные камни / рубиново-1.9.2-p0 / бен: /bin:/home/kevin/.rvm/rubies/ruby-1.9.2-p0/bin:/home/kevin/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/ SBIN: / USR / бен: / SBIN: / бен: / USR / игры

Это мой файл .bashrc: http://pastebin.com/H9U3azAk

...