为了帮助理解各种宝石的源代码,我经常想在源代码中放置各种puts语句,甚至尝试使用ruby调试器。什么是最好的方式来调整代码阅读的红宝石
但是最好的办法是做到这一点?
您是否从github克隆项目并在本地进行更改(如果有的话)如何“强制”使用本地克隆代码在本机上的本地gem上。我是否创建了一些明确需要克隆的repos文件夹路径的脚本?
或者我应该使用rvm创建临时gemset,下载gem并直接修改它?
是否还有其他方法忽略?对于在rails项目中使用的gems,这将如何改变。
为了帮助理解各种宝石的源代码,我经常想在源代码中放置各种puts语句,甚至尝试使用ruby调试器。什么是最好的方式来调整代码阅读的红宝石
但是最好的办法是做到这一点?
您是否从github克隆项目并在本地进行更改(如果有的话)如何“强制”使用本地克隆代码在本机上的本地gem上。我是否创建了一些明确需要克隆的repos文件夹路径的脚本?
或者我应该使用rvm创建临时gemset,下载gem并直接修改它?
是否还有其他方法忽略?对于在rails项目中使用的gems,这将如何改变。
的方式,我通常做时,我要进行更改宝石:
Gemfile
一条线,使其使用宝石的分叉版本:gem "thegem", :git => "git://github.com/name/thegem.git", :branch => 'mybranch'
或
gem "thegem", :git => "file:///path/to/thegem", :branch => 'mybranch'
与/path/to/thegem
是路径到您的本地工作副本。
的好处是,你现在已经拥有了完善的基础设施建立了通过拉请求:)
您可以使用rvm创建临时gemset,下载gem并直接修改它。查看/修改宝石的一个快速方法是使用gemedit:
安装:
用法:
正如其他答案中所建议的那样,在这种情况下使用':path'会更方便 - 您对本地源代码所做的每一项更改都会自动反映到正在运行的代码中。 – 2012-03-06 14:46:26
@AleksanderPohl:正如在这个答案中所建议的,我不完全同意。我喜欢在这里之间进行版本控制的优点,并且看到更改是在主题分支上完成的,它可以在之后被丢弃(或作为整体合并到其他分支中)。当然在开发的时候,你不需要总是推送到Github,你可以使用':git =>“file:/// path/to/thegem”'。它不像'git commit -m'是一个昂贵的操作,或者不能绑定到shell别名。 – 2012-03-06 14:50:44
另外,这两种方法并不排除对方,你也可以在部署的应用程序中使用':path'开发和':git'。 – 2012-03-06 14:54:28