我在 Snow Leopard 上手动构建了 Ruby 1.9.2。现在我找不到我的旧 GEM 文件了。我猜他们现在正走在不同的道路上。所以我有三个问题:
gem install sinatra
放置 sinatra gem 的“旧”gem 路径是什么?- 我手动构建 Ruby 时设置的"new"gem 路径是什么?
- 如何更改它以便 Ruby 再次找到我的 gem ?
最佳答案
在命令提示符处键入 gem env
(使用旧的 Ruby 安装的 gem 命令)会给出类似于以下内容的内容:
> RubyGems Environment:
> - RUBYGEMS VERSION: 1.3.6
> - RUBY VERSION: 1.9.1 (2009-07-16 patchlevel 243) [i386-mingw32]
> - INSTALLATION DIRECTORY: C:/Ruby19/lib/ruby/gems/1.9.1
> - RUBY EXECUTABLE: C:/Ruby19/bin/ruby.exe
> - EXECUTABLE DIRECTORY: C:/Ruby19/bin
> - RUBYGEMS PLATFORMS:
> - ruby
> - x86-mingw32
> - GEM PATHS:
> - C:/Ruby19/lib/ruby/gems/1.9.1
> - C:/Users/Username/.gem/ruby/1.9.1
> - GEM CONFIGURATION:
> - :update_sources => true
> - :verbose => true
> - :benchmark => false
> - :backtrace => false
> - :bulk_threshold => 1000
> - REMOTE SOURCES:
> - http://rubygems.org/
(在 Windows 上...我想 Snow Leopard 会有类似的格式)
GEM PATHS 字段在这里很有趣。如果转到列出的这些目录,您应该会看到一个名为 cache 的文件夹。这将包含与该特定目录中所有已安装的 gem 相对应的 .gem 文件列表。您应该能够在每个这些 gem 文件上调用 gem install *gemname*
(使用您的新 Ruby 安装的 gem 命令)。
编辑:错误地提到安装目录而不是 GEM 路径。 Greg 提醒我,Rubygems 的特定安装已知多个位置。所有这些位置都需要检查该 Ruby 安装使用的 gem。
关于ruby - Mac OS X 10.6.8 手动编译 Ruby 时的 GEM 在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4232960/