Я никогда раньше не использовал Ruby, поэтому эта и сопутствующая терминология для меня новы; Я делаю только установку, поэтому у меня есть база для запуска конкретного приложения.
Мне нужен Ruby 1.9.3, насколько я понимаю, я должен использовать RVM, так как это упростит работу с конфликтами версий (я использую Ubuntu 12.04 LTS и, похоже, уже имеет 1.8 и 1.9.1).
Проблема в том, что у меня все еще возникают конфликты версий. Что я делаю не так, пожалуйста?
Подробности следуют:
На ванильном ubuntu 12.04 LTS я устанавливаю rvm & bundler
sudo apt-get install ruby-bundler ruby-rvm
У меня есть файл .rvmrc в корне моего проекта, содержащий:
rvm use 1.9.3-p484@project-root --create
Я казнил sudo rvm reload
Затем я говорю rvm установить определенный рубин
sudo rvm install ruby-1.9.3-p484
и это барфс
Установка rubygems для /usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/bin/ruby
ОШИБКА: Ошибка при запуске 'GEM_PATH = "/ usr / share / ruby-rvm / gems / ruby-1.9.3-p484: / usr / share / ruby- rvm/gems/ruby-1.9.3-p484@global: / usr /share/ruby-rvm/gems/ruby-1.9.3-p484:/usr/share/ruby- rvm/gems/ruby-1.9.3-p484@global "GEM_HOME =" / usr / share / ruby-rvm / gems / ruby-1.9.3-p484 "" /usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/bin/ruby "" /usr/share/ruby-rvm/src/rubygems-1.6. 2 / setup.rb "', прочтите /usr/share/ruby-rvm/log/ruby-1.9.3-p484/rubygems.install.lo
Журнал содержит следующее:
/usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/rubygems.rb:483:in
find_files': undefined method
map 'для Gem :: Specification: Class (NoMethodError) из /usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/rubygems.rb:1108:inload_plugins' from /var/cache/ruby-rvm/src/rubygems-1.6.2/lib/rubygems/gem_runner.rb:84:in
'из /usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' from /usr/share/ruby-rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in
require 'из /usr/share/ruby-rvm/src/rubygems-1.6.2/setup.rb:25:
Похоже какой-то конфликт с v1.9.1?
Если я все равно пойду и убегу sudo bundle install
(У меня есть Gemfile с некоторыми записями). Я получаю другую ошибку, подразумевающую, что сборщик использует Ruby 1.8!
Установка nokogiri (1.6.1) /usr/lib/ruby/vendor_ruby/1.8/rubygems/installer.rb:388:in `sure_required_ruby_version_met ': nokogiri требует версии Ruby> = 1.9.2. (Gem :: InstallError)
Что я делаю не так, пожалуйста?
Единственная важная информация, которую я могу дать, - это результат rvm info
как видите, у меня пустые пути, а «двоичный» неверен.
система:
system: uname: "Linux ubuntu 3.8.0-29-generic # 42 ~ точный1-Ubuntu SMP среда, 14 августа, 15:31:16 UTC 2013 i686 i686 i386 GNU / Linux" bash: "/ bin / bash => GNU bash, версия 4.2.25 (1) -release (i686-pc-linux-gnu) "zsh:" => не установлен "
rvm: version: "rvm 1.6.9, автор: Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]"
homes: gem: "не установлено" рубин: "не установлено"
двоичные файлы: ruby: "/ usr / bin / ruby" irb: "/ usr / bin / irb" gem: "/ usr / bin / gem" rake: ""
среда: ПУТЬ: "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / share / ruby-rvm / bin : / usr / share / ruby-rvm / bin "GEM_HOME:" "GEM_PATH:" "MY_RUBY_HOME:" "IRBRC:" "RUBYOPT:" "gemset:" "
/usr/bin/ruby -v
возвращает 1.8.7
По-видимому, версия RVM, поставляемая с Ubuntu, не работает. Я удалил его и следовал инструкциям в этом сообщении SO.