我正在运行 Ubuntu 9.10。我刚开始使用 ruby on rails 开发,想确保我的系统是最新的。
这是我目前发现的:
$ which ruby
/usr/bin/ruby
$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux]
$ which gem
/usr/bin/gem
$ gem -v
1.0.1
$ which rails
/usr/bin/rails
$ rails -v
Rails 2.2.2
$ gem install sqlite3-ruby
Bulk updating Gem source index for: http://gems.rubyforge.org
ERROR: could not find sqlite3-ruby locally or in a repository
解决方案:
Ruby 1.8.7 是当前版本。我的 RubyGems 版本需要更新。Rails 也一样。我需要先更新 RubyGems,然后才能更新 Rails。
如果您的 RubyGems 版本是 0.8.5 或更高版本,则可以使用以下命令升级到最新版本:
sudo gem update --system
如果您当前的 RubyGems 版本早于 0.8.5 版,或者您在尝试时看到消息“无需更新” gem update --system
,请使用以下命令:
sudo gem install rubygems-update
sudo update_rubygems
现在 RubyGems 已更新,我们可以更新 Rails 了。要更新 Rails 以及所有其他 gem,请使用以下命令:
sudo gem update
要查看已安装的 Gems,可以运行以下命令:
gem list --local
要安装新的 Gem,或查看哪些 Gem 可供安装,请参阅RubyGems 指南的这一页
答案1
您的 ruby 版本很好,1.9 仍然有点实验性并且有许多库还不能很好地与其配合使用。
您还需要升级 ruby gems 本身,并且由于您拥有相当旧的版本,您将需要使用这两个命令:
sudo gem install rubygems-update
sudo update_rubygems
它应该安装 ruby gems 版本 1.3.5,然后可以使用以下命令进行将来的更新:
sudo gem update --system
您还可以使用以下命令更新所有已安装的 gem:
sudo gem update
答案2
首先,你需要运行宝石安装新 gem 时,请以 root 用户身份进行。其次,您需要添加-r第一次运行此命令时,请指定从远程存储库安装的参数。
$ sudo gem install sqlite3-ruby -r
请注意,这个 gem 也可以作为 Ubuntu 软件包使用:
$ sudo aptitude install libsqlite3-ruby
如果您需要没有以软件包形式提供的 gem(最新版本),请使用前者。
要使 Ubuntu 软件包保持最新,请使用 Ubuntu 更新管理器或任何其他方法使其他软件保持最新。
答案3
安装 Ruby 版本管理器!
说真的!我希望我早点这样做。Ruby 版本管理器可以运行多个版本的 Ruby,每个版本都有自己的 gem 集,并且可以无缝地在不同版本之间切换。另外,您不必再使用任何版本sudo
。另外,它有很好的文档。另外,它非常容易安装,所以你应该这样做!