在我的rails 2.3.8应用程序在Windows 7中运行,尝试启动服务器时出现以下错误:
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
Run Code Online (Sandbox Code Playgroud)
在下面的自定义需求文件块中...第36行是"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
Run Code Online (Sandbox Code Playgroud)
宝石清单如下:
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)
Run Code Online (Sandbox Code Playgroud)
看看部分错误,但我不太清楚从哪里开始.
只看堆栈跟踪......看起来你的应用程序在驱动器"D"上,ruby文件在驱动器"C"上.
也许当它执行要求时
filenames = Dir["#{File.dirname(__FILE__)}/core_ext/*.rb"].sort.map do |path|
File.basename(path, '.rb')
end
Run Code Online (Sandbox Code Playgroud)
当它应该在"C"上时,它要求"D"上的路径.这是我最好的猜测.祝好运.
创建一个文件名
核心扩展.rb
在里面
C:\Ruby\lib\ruby\gems\1.8\gems\activesupport-2.3.8\lib\active_support
Run Code Online (Sandbox Code Playgroud)
并编辑将内容添加到以下行
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}" }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6047 次 |
| 最近记录: |