我的操作系统:windows xp,ruby:1.8.7,rails:2.3.5
一切都很好,但我刚刚安装了“gcc-4.4.0-mingw32-bin”,并运行gem install rdiscount
,然后我的导轨无法启动。
现在,当我运行ruby script/server
或rake gems:install
时,会出现以下错误:
rake aborted!
Malformed version number string mingw32
(See full trace by running task with --trace)
E:\WORKSPACE_TOPCODER\wenda_ror>ruby script/server
=> Booting Mongrel
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
E:/Ruby/ruby-187/lib/ruby/site_ruby/1.8/rubygems/version.rb:182:in `initialize': Malformed version number string mingw32 (ArgumentError)
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/vendor_gem_source_index.rb:105:in `new'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/vendor_gem_source_index.rb:105:in `version_for_dir'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/vendor_gem_source_index.rb:47:in `refresh!'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/vendor_gem_source_index.rb:45:in `each'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/vendor_gem_source_index.rb:45:in `refresh!'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/vendor_gem_source_index.rb:29:in `initialize'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:21:in `new'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:298:in `add_gem_load_paths'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:132:in `process'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
from E:/WORKSPACE_TOPCODER/wenda_ror/config/environment.rb:9
from E:/Ruby/ruby-187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from E:/Ruby/ruby-187/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from E:/Ruby/ruby-187/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
现在我已经重新安装了我的ruby和rails,但仍然会出现同样的错误。我在谷歌搜索过,发现没有解决方案。看来我必须重新安装我的Windows XP。有人知道原因吗?帮助...
答案 0 :(得分:0)
刚才,我找到了解决方案:删除“vendor / gems”下的文件
原因可能是我在安装rake gems:unpack
后运行gcc
,因此一些无效文件被解压缩到“gems”目录。删除后,一切正常。
答案 1 :(得分:0)
问题是您已经解压缩了一个具有特定于Windows的本机扩展构建的gem。这种宝石的后缀包括mingw32(例如nokogiri-1.4.3.1-x86-mingw32)。执行rake gems:unpack
后,您应删除此类解压缩的文件夹。
一方面,这可以避免格式错误的版本字符串问题(您报告的问题)。另一方面,用户和具有不同操作系统的服务器(linux / mac osx)能够自己构建gem的原生扩展(不适用于Windows版本)。