2011-01-31 13 views
5

W moich szyn 2.3.8 uruchomionych aplikacji w systemie Windows 7, otrzymuję następujący błąd podczas próby uruchomienia serwera:Nie ma takiego pliku do załadowania - 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 

W zwyczaju wymagają blok plik poniżej ... linia 36 jest "ścieżka gem_original_require"

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 gem następująco:

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) 

Wyglądał z częściami błędu, ale nie jestem do końca pewien, od czego zacząć.

Odpowiedz

1

utworzyć nazwę pliku

core_ext.rb

w

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

i edytować dodać zawartość do następujących linii

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

Ten katalog ma już ten sam plik zawierający dokładnie podaną zawartość. dziękuję za spróbowanie. – Jay

5

Wystarczy spojrzeć na ślad stosu ... wygląda na to, że twoja aplikacja jest na dysku "D", a pliki ruby ​​są na dysku "C".

Może podczas jego wykonywania require

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

jego wymagająca tę ścieżkę na „D”, gdy powinno być na „C”. To moje najlepsze przypuszczenie. Powodzenia.

+0

to było tak dawno temu i nie mam maszyny, na której błąd został stworzony, więc +1 dla możliwego rozwiązania ... Jestem pewien, że to pomoże komuś innemu. – Jay

Powiązane problemy