Ruby宝石(gem)LoadError - rubygems/defaults/operating_system

7

我在我的WinXP SP3电脑上安装了Ruby 1.8.6 p368和Gems 1.3.4,以及所需的库,如zlib、ssl或readline。

问题是,当我现在尝试使用某些gem时,我会收到以下错误:

Exception `LoadError' at D:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1112 - no su
ch file to load -- rubygems/defaults/operating_system
Exception `LoadError' at D:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.
rb:31 - no such file to load -- mysql

看起来从修复缺失的"rubygems/defaults/operating_system"文件开始是有意义的。我该怎么做呢?TIA

PS: gem env是

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.4
  - RUBY VERSION: 1.8.6 (2009-03-31 patchlevel 368) [i386-mswin32]
  - INSTALLATION DIRECTORY: D:/ruby/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: D:/ruby/bin/ruby.exe
  - EXECUTABLE DIRECTORY: D:/ruby/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mswin32-60
  - GEM PATHS:
 - D:/ruby/lib/ruby/gems/1.8
 - C:/Documents and Settings/fluffy/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/ 

你能在你的系统中找到 "rubygems/defaults/operating_system.rb" 这个文件吗?从 RubyGems 1.3.2 开始,它看起来应该被加载,但前提是它存在。这个文件可能存在于 D:/ruby/... 路径中,但不存在于 C:/Documents and Settings/... 路径中,而上下文正在从一个路径切换到另一个路径。也就是说,RubyGems 检查了 D:/ 路径并且文件存在,但然后尝试加载 C:/ 路径并且失败了。这只是一个猜测...这里有更多细节:http://www.infoq.com/news/2009/04/rubygems-plugins - mlambie
请发布生成错误的脚本。谢谢! - Sarah Mei
4个回答

11

你是使用 -d 运行的吗?如果是,这封电子邮件 认为即使异常被捕获,它仍然显示异常。


0

以下错误

Exception 'LoadError' at D:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1112 - no such file to load -- rubygems/defaults/operating_system

可能与以下两种情况之一有关:

  1. 安装文件损坏(请检查 rubygems.rb 文件,确保它需要 'rubygems/defaults/operating_system'。如果是,请检查该文件是否存在),或者
  2. 您正在尝试在服务器仍配置为使用 Rails 2.1.x 的情况下运行 2.3.x 应用程序。

希望这可以帮到您。如果不能,请告诉我。


  1. rubygems.rb 真正需要那个文件,但该文件不存在,我已经发现 requing 那个文件是在 gems 1.2.0 中引入的,尽管手册中指出“如果该文件存在”。我通过解压从 ftp.ruby-lang.org 得到的 zip 文件来安装 Ruby。
  2. 我并不试图运行 Rails 应用程序,实际上 Rails gem 根本没有安装。
- Fluffy

0
你尝试过InstantRails吗?它将rails/apache/mysql打包在一起,我在每个XP电脑上都可以直接使用。
我还安装了NetBeans作为开发环境,并将其指向InstantRails的"bin/ruby"二进制文件。

0

看起来你也需要安装mysql gem。


1
以下是 gem list 显示的内容:*** 本地 GEMS ***mechanize (0.9.3) mysql (2.7.3) nokogiri (1.3.1) - Fluffy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接