`
kadvin
  • 浏览: 8748 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

Windows下支持最新的ruby-debug-ide-0.4.x

阅读更多

如果在Windows下需要用Netbeans调试Rails 3.0以上项目,需要ruby-ide-0.4.x支持。

 

执行:

 

gem install ruby-debug-ide

 

基本上会看到 ruby mkrf_conf.rb 失败的消息

Gem files will remain installed in C:/develop/ruby187/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.16 for inspection.

Results logged to C:/develop/ruby187/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.16/ext/gem_make.out

 

稍微深入一点,知道是因为 ruby-debug-ide-0.4.x依赖于 ruby-debug-base-0.10.x,而这个Gem分为Linux和windows两个版本

 

手工下载 ruby-debug-base windows版本,如:

http://rubygems.org/gems/ruby-debug-base/versions/0.10.4-mswin32

 

gem install ruby-debug-base-0.10.4-mswin32.gem

 

成功。

 

再 gem install ruby-debug-ide,依然失败。

 

仔细阅读:

ruby-debug-ide的mkrf_conf.rb,发现如下语句:

    if RUBY_VERSION < "1.9"
      inst.install "ruby-debug-base", '>=0.10.4'
    else
      inst.install "ruby-debug-base19", '>=0.11.24'
    end

第二行代码会导致Gem寻找或安装 ruby-debug-base 0.10.4版本

查询: Gem::DependencyInstaller代码,应该使用平台相关的查询方法,类似于:

      inst.install "ruby-debug-base", '>=0.10.4', ‘mswin32'

,但Gem::DependencyInstaller却没有找到相应能提供根据平台进行查找的方法(本人的Gem版本为1.3.7)。

遂用最简便的方法,将原先已经安装的 ruby-debug-base-0.10.4-mswin32重新打包命名:ruby-debug-base-0.10.4

从你的gem的specifications里面找到 ruby-debug-base-0.10.4-x86-mswin32.gemspec
放到相应的ruby-debug-base-0.10.4 Gem中,并重命名为 ruby-debug-base.gemspec
并修改:
Gem::Specification.new do |s|
  s.name = %q{ruby-debug-base}
  s.version = "0.10.4"
  s.platform = %q{mswin32}
  ...
end
注释掉 s.platform那行: 
Gem::Specification.new do |s|
  s.name = %q{ruby-debug-base}
  s.version = "0.10.4"
  #s.platform = %q{mswin32}
  ...
end

cd 该gem的安装目录:
gem build ruby-debug-base.gemspec
生成相应的 ruby-debug-base-0.10.4.gem
gem install ruby-debug-base-0.10.4.gem
而后再 gem install ruby-debug-ide-0.4.16.gem

打开Netbeans,以debug方式启动项目,发现一切正常,搞定!


总结而言,关键就是需要将Gem ruby-debug-base-0.x.y-mswin32重新命名为ruby-debug-base-0.x.y

 

附件提供改过名的 ruby-debug-base-0.10.4

分享到:
评论
1 楼 yuan 2010-12-13  
路过打酱油

相关推荐

Global site tag (gtag.js) - Google Analytics