星期二,2007 年 2 月 6 日

如果您在安装 gem 的过程中遇到问题...

发表于 Chad

相当多的 Rails 开发人员表示,使用更新的 RubyGems 版本安装 gem 时遇到问题。如果您遇到类似如下的问题

$ gem update sqlite3-ruby Updating installed gems… 错误: 执行 gem 时...(NoMethodError) 未定义方法 `refresh’ 对应于 #<hash:0x14e0a4c>

…您应删除本地 source_cache 文件。此文件本地缓存了来自 gem 服务器的任何 gem 元数据,以避免在每次执行 gem 命令时都重新下载它们。

要查找此文件在系统中的位置,请运行以下命令

$ gem env RubyGems 环境

  • 版本: 0.9.2 (0.9.2)
  • 安装 目录: /usr/local/lib/ruby/gems/1.8
  • GEM 路径
  • /usr/local/lib/ruby/gems/1.8
  • 远程 来源
  • http://gems.rubyforge.org

source_cache 文件应在 GEM 路径 标出的路径中。删除该文件应可清除任何相关问题。

此解决方案是一种权宜之计,待 RubyGems 团队修复此问题时即可生效。