2011-01-31 23 views
5

Trong ray của tôi 2.3.8 ứng dụng đang chạy trong windows 7, nhận được lỗi sau khi cố gắng khởi động server:không có tập tin để tải - 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 

Trong tùy chỉnh yêu cầu khối tập tin dưới đây ... dòng 36 là "gem_original_require path"

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 

danh sách đá quý như sau:

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) 

Nhìn xung quanh với các phần của lỗi, nhưng tôi không hoàn toàn chắc chắn bắt đầu từ đâu.

Trả lời

1

tạo một tên tập tin

core_ext.rb

trong

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

và chỉnh sửa thêm nội dung vào các dòng sau

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

thư mục đó đã có cùng một tệp với nội dung chính xác mà bạn cung cấp. Cảm ơn bạn đã thử. – Jay

5

Chỉ cần nhìn vào dấu vết ngăn xếp ... có vẻ như ứng dụng của bạn là trên ổ đĩa "D" và các tập tin ruby ​​đang trên ổ đĩa "C".

Có lẽ khi thực hiện nó đòi hỏi các

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

đòi hỏi của mình rằng con đường vào "D" khi nó phải vào "C". Đó là dự đoán tốt nhất của tôi. Chúc may mắn.

+0

điều này đã được cách đây rất lâu và tôi không có máy mà lỗi đã được tạo trên +1 vì giải pháp có thể ... Tôi chắc chắn nó sẽ giúp người khác. – Jay

Các vấn đề liên quan