Я успешно установил ruby1.9.1, но после загрузки предложенного здесь архива .tgz и выполнения
sudo ruby1.9.1 setup.rb
я получаю следующее:
/home/elliot/Downloads/rubygems-1.4.1 (2)/lib/rubygems/source_index.rb:62:in `installed_spec_directories': undefined method `path' for Gem:Module (NoMethodError)
from /home/elliot/Downloads/rubygems-1.4.1 (2)/lib/rubygems/source_index.rb:52:in `from_installed_gems'
from /home/elliot/Downloads/rubygems-1.4.1 (2)/lib/rubygems.rb:914:in `source_index'
from /home/elliot/Downloads/rubygems-1.4.1 (2)/lib/rubygems/gem_path_searcher.rb:98:in `init_gemspecs'
from /home/elliot/Downloads/rubygems-1.4.1 (2)/lib/rubygems/gem_path_searcher.rb:13:in `initialize'
from /home/elliot/Downloads/rubygems-1.4.1 (2)/lib/rubygems.rb:873:in `new'
from /home/elliot/Downloads/rubygems-1.4.1 (2)/lib/rubygems.rb:873:in `searcher'
from /home/elliot/Downloads/rubygems-1.4.1 (2)/lib/rubygems.rb:495:in `find_files'
from /home/elliot/Downloads/rubygems-1.4.1 (2)/lib/rubygems.rb:1034:in `load_plugins'
from /home/elliot/Downloads/rubygems-1.4.1 (2)/lib/rubygems/gem_runner.rb:84:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from setup.rb:25:in `<main>'
Почему установка RubyGems с Ruby1.9.1 так больно? Как я могу установить его правильно? Заранее спасибо, эл.
$ sudo apt-get install ruby1.9.1 gem1.9.1
лично я предлагаю ruby 1.9.2p94 или выше, поскольку в 1.9.2p0 есть ошибки библиотеки сокетов.
Примечание. $ sudo apt-get install ruby1.9.2 gem1.9.2
устанавливает двоичный файл ruby1.9.1, однако, когда вы запускаете ruby1.9.1 -v
, он сообщает вам ruby 1.9.2. Я написал ошибку в Ubuntu, и они закрыли ее, сказав, что им все равно.
Если вы заинтересованы в использовании последних версий Ruby (я бы рекомендовал использовать 1.9.2, так как это последняя стабильная версия), то лучший способ добиться этого - использовать rvm .
Как и в случае с python (и Java), если вы используете установку по умолчанию в системе на основе Debian, у вас возникнут серьезные проблемы. Кажется, что каждый язык хочет иметь дело с автоматизированной системой для установки вместо работы с существующими системами.
Реальное решение - установить ruby и rubygems через apt, и если пакеты не существуют, вы создаете пакеты и размещаете их в ppa для установки другими.