Руби через RVM не работает - PullRequest
2 голосов
/ 17 января 2011

В постоянной битве за установку Ruby 1.9.2 в системе RPM (ОС основана на CentOS), я снова пытаюсь использовать RVM.

Поэтому, как только я его установлю, я попытаюсь использовать его:

[root@quackwall ~]# rvm use 1.9.2
Using /usr/local/rvm/gems/ruby-1.9.2-p136
[root@quackwall ~]# ruby
bash: ruby: command not found
[root@quackwall ~]# which ruby
/usr/bin/which: no ruby in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

Теперь это интересно; rvm info говорит что-то совершенно другое:

[root@quackwall bin]# rvm info

ruby-1.9.2-p136:

  system:
    uname:       "Linux quackwall.highwow.lan 2.6.18-194.8.1.v5 #1 SMP Thu Jul 15 01:14:04 EDT 2010 i686 i686 i386 GNU/Linux"
    bash:        "/bin/bash => GNU bash, version 3.2.25(1)-release (i686-redhat-linux-gnu)"
    zsh:         " => not installed"

  rvm:
    version:      "rvm 1.2.2 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]"

  ruby:
    interpreter:  "ruby"
    version:      "1.9.2p136"
    date:         "2010-12-25"
    platform:     "i686-linux"
    patchlevel:   "2010-12-25 revision 30365"
    full_version: "ruby 1.9.2p136 (2010-12-25 revision 30365) [i686-linux]"

  homes:
    gem:          "/usr/local/rvm/gems/ruby-1.9.2-p136"
    ruby:         "/usr/local/rvm/rubies/ruby-1.9.2-p136"

  binaries:
    ruby:         "/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/ruby"
    irb:          "/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/irb"
    gem:          "/usr/local/rvm/rubies/ruby-1.9.2-p136/bin/gem"
    rake:         "/usr/local/rvm/gems/ruby-1.9.2-p136/bin/rake"

  environment:
    PATH:         "/usr/local/rvm/gems/ruby-1.9.2-p136/bin:/usr/local/rvm/gems/ruby-1.9.2-p136@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p136/bin:bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/rvm/bin"
    GEM_HOME:     "/usr/local/rvm/gems/ruby-1.9.2-p136"
    GEM_PATH:     "/usr/local/rvm/gems/ruby-1.9.2-p136:/usr/local/rvm/gems/ruby-1.9.2-p136@global"
    MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.2-p136"
    IRBRC:        "/usr/local/rvm/rubies/ruby-1.9.2-p136/.irbrc"
    RUBYOPT:      ""
    gemset:       ""

Итак, у меня есть RVM, который говорит одно, а bash - другое. Любые предложения о том, как заставить это работать?

Ответы [ 3 ]

4 голосов
/ 17 января 2011

Почему вы используете свою корневую учетную запись?

[root@quackwall ~]

RVM предназначен для работы в качестве изолированной программной среды пользователя, если только вы не выполняете общесистемную установку. При обычном использовании установка с правами root и путями все испортит.

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

Также обратите внимание, что rvm use 1.9.2 указывает на:

/usr/local/rvm/gems/ruby-1.9.2-p136

но:

which ruby

не имеет /usr/local/rvm/gems/ruby-1.9.2-p136 в пути поиска:

/usr/bin/which: no ruby in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

Если вы собираетесь использовать общесистемные установки, вам нужно либо изменить все файлы ~/.bashrc или ~/.bash_profile для всех пользователей, либо настроить /etc/bashrc или /etc/profile.

1 голос
/ 17 января 2011

Я полагаю, вы не обновили .bashrc, как указано в инструкции.

Обратите внимание, что после обновления .bashrc вам потребуется открыть новый терминал bash, чтобы он перезагрузил среду.

0 голосов
/ 11 марта 2012

Примечание

Я полностью пересмотрел / уточнил свой ответ в свете указаний / идей из TheLQ .

Ответ

Я получил Ruby через RVM после новой установки OSX 10.7.Для меня rvm потерпел неудачу независимо от того, что с однопользовательским rvm.Судо в сочетании с некоторыми разрешениями и изменениями окружения $ PATH для моего пользователя сделали это возможным.Вот что я сделал:

<code>sudo bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
sudo rvm pkg install readline sudo rvm install 1.9.3

При установке rvm от пользователя root создается сценарий оболочки в / usr / local / rvm / scripts /rvm
Извлек код из этого исполняемого файла и поместил его в мой файл .bash_profile, чтобы файл .bash_profile был сохранен как:

[[ -s "/usr/local/rvm/scripts/rvm" ]] ;
    true ${rvm_path:="/usr/local/rvm"}
    source "/usr/local/rvm/scripts/rvm"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Группа пользователей RVM была создана во время установки root пользователем rvm,Последнее, что я сделал, это зашел на панель настроек в OSX 10.7 и добавил моего пользователя в новую группу rvm.Наконец я перезагрузил свой терминал и смог установить 1.9.3 через однопользовательский rvm.

...