2010-06-15 2 views
0

Mon os: windows xp, ruby: 1.8.7, rails: 2.3.5"string numéro de version malformée mingw32" lorsque les rails à partir

Tout allait bien, mais je viens d'installer un « gcc-4.4.0- mingw32-bin ", et exécutez gem install rdiscount, alors mes rails ne peuvent pas démarrer.

Maintenant, quand je lance ruby script/server, ou rake gems:install, l'erreur suivante se produira:

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' 

Maintenant, j'ai réinstallé mon rubis et les rails, mais la même erreur se produit encore. Et j'ai cherché dans google, trouvé aucune solution. Il semble que je dois réinstaller Windows XP. Quelqu'un connaît la raison? Aide ...

Répondre

0

En ce moment, j'ai trouvé la solution: supprimer les fichiers sous la rubrique « fournisseurs/pierres précieuses »

La raison peut être que je lance rake gems:unpack après avoir installé gcc, de sorte que certains fichiers non valides ont été déballés au " gems "répertoire. Après les avoir supprimés, tout va bien.

0

Le problème est que vous avez décompressé une gemme avec une extension native spécifique à Windows. Une telle gemme a un suffixe incluant mingw32 (par exemple nokogiri-1.4.3.1-x86-mingw32). Après avoir effectué rake gems:unpack, vous devez supprimer ces dossiers décompressés. Par conséquent, cela évite les problèmes avec les chaînes de version malformées (problème signalé). D'un autre côté, les utilisateurs et le serveur avec un système d'exploitation différent (linux/mac osx) sont capables de construire eux-mêmes l'extension native de la gemme (cela ne fonctionnerait pas avec la version windows).

Questions connexes