2013-03-21 8 views
19

Quando si installa Ruby on Rails (via gem install rails) si potrebbe ottenere il seguente messaggio di errore:Perché l'installazione di Ruby on Rails genera errori "size of array" ruby_check_sizeof_voidp "è negativo"?

c:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:109:14: error: size of array 'ruby_check_sizeof_voidp' is negative 

ci saranno anche molti avvertimenti come questo:

c:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:1333:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 

e un errore aggiuntivo

c:/Ruby193/include/ruby-1.9.1/ruby/missing.h:41:8: error: redefinition of 'struct timespec' 

Perché succede questo e come posso installare Rails con successo?

risposta

29

Ciò accade quando si è installata la versione errata di DevKit per la propria versione di Ruby, ad esempio se è stato installato DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe in Ruby versione 1.9.3.

Per correggere il problema, reinstallare Ruby e installare il DevKit corretto per la versione di Ruby, come indicato nella sezione "Quale kit di sviluppo?" allo http://rubyinstaller.org/downloads.

+4

Mi hai appena salvato un'altra ora di sbattere la testa contro questo problema - grazie Harry! – Phantomwhale

+4

Se in effetti hai scaricato la versione corretta di 'DevKit', ma in precedenza hai installato qualche altra versione (se hai superato [passaggio 4] (https://github.com/oneclick/rubyinstaller/wiki/Development-Kit # 4-run-installation-scripts)) si potrebbe voler provare a lanciare ' \ ruby ​​dk.rb init --force' (non è solo' config.yml' che viene preparato nel passo 'init') . –

+0

Grazie, la tua risposta mi ha aiutato. Saluti. –