我已经成功安装了 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>'
为什么用 Ruby1.9.1 安装 RubyGems 这么痛苦?我怎样才能正确安装它?提前谢谢,嗯。
就像使用 python(和 Java)一样,如果你在基于 Debian 的系统上使用默认安装,你会遇到很多问题。每种语言似乎都希望有一个自动化的安装系统,而不是与现有系统一起工作。
真正的解决方案是通过 apt 安装 ruby 和 rubygems,如果包不存在,那么您创建包并将它们托管在 ppa 中供其他人安装。
$ 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。