2010-06-15 34 views
0

我的操作系統時:Windows XP中,紅寶石:1.8.7,導軌:2.3.5「格式不正確的版本號字符串的mingw32」 開始軌道

一切都很好,但我只安裝了一個「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

剛纔,我找到了解決辦法:刪除「供應商/寶石」

下的文件的原因可能是我跑rake gems:unpack我安裝gcc後,因此一些無效的文件被解壓到「寶石「目錄。刪除它們後,一切正常。

0

問題是,您已經解壓了一個具有Windows專用擴展版本的gem。這樣的寶石有一個後綴,包括mingw32(例如nokogiri-1.4.3.1-x86-mingw32)。執行rake gems:unpack後,您應該刪除這些解壓縮的文件夾。

手頭上,這避免了格式錯誤的版本字符串(您報告的問題)的問題。另一方面,用戶和具有不同操作系統的服務器(linux/mac osx)能夠自行構建gem的本地擴展(不適用於windows版本)。