我已经安装了 Thin 并尝试执行 thin start
,最终出现此错误
C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/1.9/thin_parser (LoadError)
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/thin.rb:48:in `rescue in <top (required)>'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/thin.rb:43:in `<top (required)>'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/bin/thin:5:in `<top (required)>'
from C:/Ruby192/bin/thin:19:in `load'
from C:/Ruby192/bin/thin:19:in `<main>'
有人可以帮助我吗,提前致谢
最佳答案
输出表示一个名为 1.9
的目录,即<ruby_install_dir>/lib/ruby/gems/1.9.1/gems/thin-1.2.8-x86-mingw32/lib/1.9/
注意:我的瘦版本是1.2.10。在下文中,我将使用出现在我系统上的路径。
出于某种原因,这个目录没有附带瘦 gem。但是一个名为 thin_parser.so
的文件驻留在父目录 <ruby_install_dir>/lib/ruby/gems/1.9.1/gems/thin-1.2.10/lib/
中
所以我的第一个解决方案是创建一个目录 1.9
并将文件 Thin_parser.so 复制到其中。
现在 thin start
对我有用。
或者,您可以编辑文件 <ruby_install_dir>/lib/ruby/gems/1.9.1/gems/thin-1.2.10/lib/thin.rb
并更改
if Thin.win?
# Select proper binary under Windows
major_ruby_version = RUBY_VERSION[/^(\d+\.\d+)/]
require "#{Thin::ROOT}/#{major_ruby_version}/thin_parser"
else
require "#{Thin::ROOT}/thin_parser"
end
至
if Thin.win?
# Select proper binary under Windows
major_ruby_version = RUBY_VERSION[/^(\d+\.\d+)/]
require "#{Thin::ROOT}/thin_parser"
else
require "#{Thin::ROOT}/thin_parser"
end
甚至更简单
require "#{Thin::ROOT}/thin_parser"
我不确定哪种解决方法更好,因为我不知道在不存在的目录中还需要什么文件。我也不知道 Thin.win 在哪里? fork 变得很重要。
我决定支持第一个解决方案。但两种方式都为我解决了问题。
此致,
蒂姆
关于ruby-on-rails-3 - 薄加载错误 : no such file to load thin_parser,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5380826/