2011-01-31 16 views
5

Nei miei rotaie 2.3.8 applicazione in esecuzione in Windows 7, ottenendo il seguente errore quando si tenta di avviare il server:tale file da caricare - active_support/core_ext (LoadError)

D:\app1>ruby script/server 
C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- active_support/core_ext (LoadError) 
     from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' 
     from D:/app1/vendor/rails/activesupport/lib/active_support.rb:56 
     from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from D:/app1/vendor/rails/railties/lib/commands/server.rb:1 
     from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
     from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from script/server:3 

Nel abitudine richiede blocco dei file qui sotto ... linea 36 è "gem_original_require percorso"

def require(path) # :doc: 
    gem_original_require path 
    rescue LoadError => load_error 
    if load_error.message =~ /#{Regexp.escape path}\z/ and 
     spec = Gem.searcher.find(path) then 
     Gem.activate(spec.name, "= #{spec.version}") 
     gem_original_require path 
    else 
     raise load_error 
    end 
    end 

lista gemma come segue:

actionmailer (2.3.8) 
actionpack (2.3.8) 
activerecord (2.3.8) 
activeresource (2.3.8) 
activesupport (2.3.8) 
builder (3.0.0) 
calendar_date_select (1.16.1) 
cgi_multipart_eof_fix (2.5.0) 
gem_plugin (0.2.3) 
google4r-checkout (1.0.6.1) 
i18n (0.5.0) 
liquid (2.2.2) 
money (3.5.5) 
mongrel (1.1.5 x86-mingw32) 
mysql (2.8.1 x86-mingw32) 
rack (1.1.0) 
rails (2.3.8) 
rake (0.8.7) 
rmagick (2.12.0 mswin32) 

Guardò in giro con parti dell'errore, ma non sono abbastanza sicuro da dove cominciare.

risposta

1

creare un nome di file

core_ext.rb

nel

C:\Ruby\lib\ruby\gems\1.8\gems\activesupport-2.3.8\lib\active_support 

e modificare aggiungere il contenuto alle seguenti linee

filenames = Dir["#{File.dirname(__FILE__)}/core_ext/*.rb"].sort.map do |path| 
    File.basename(path, '.rb') 
end 

# deprecated 
filenames -= %w(blank) 

filenames.each { |filename| require "active_support/core_ext/#{filename}" } 
+0

quella directory ha già lo stesso file con i contenuti esatti forniti. grazie per averci provato. – Jay

5

Basta guardare la traccia dello stack ... sembra che la tua applicazione sia sull'unità "D" e che i file ruby ​​si trovino sull'unità "C".

Forse quando la sua esecuzione require

filenames = Dir["#{File.dirname(__FILE__)}/core_ext/*.rb"].sort.map do |path| 
    File.basename(path, '.rb') 
end 

sua richiedere che il percorso "D" quando dovrebbe essere di "C". Questa è la mia ipotesi migliore. In bocca al lupo.

+0

questo era tanto tempo fa e non ho la macchina che l'errore è stato creato su così +1 per la possibile soluzione ... Sono sicuro che aiuterà qualcun altro. – Jay

Problemi correlati