Gem 学到个在本地调试 Gem 的方法

greatghoul · 2016年03月23日 · 最后由 peterfei 回复于 2016年03月28日 · 3431 次阅读

在本地开发 gem 时,为了图方便,可以直接引用本地的路径

在 Gemfile 中加入

gem <GEM_NAME>', :github => ‘<OWNER>/<GEM_NAME>', :branch => 'master'

然后执行下面的命令

bundle config local.GEM_NAME /path/to/local/git/repo

默认情况下,bundle 会检查 Gemfile 指定的 branch 和本地的 branch 是否一致,如果要禁用这一选项,可以执行

bundle config disable_local_branch_check true

要删除本地的 gem 引用

bundle config --delete local.<GEM_NAME>

相比于在 Gemfile 中指定本地路径,我觉得这种方式更好一些,删除本地的引用就使用的线上版本,不用更改 Gemfile,而且 Gem 有更新时不需要手动执行 bundle update gem_name

参考这两篇:

我觉得还是 gem 'xx', path: '../xx' 方便

从来都是用

alias cdgems='cd `rvm gemset dir`'

找到库 直接在代码关键位置 binding.pry,并不改代码 只限调试。调试完删掉binding.pry

#1 楼 @sharpx 用 path 来指定也不需要 bundle update 吗?

4 楼 已删除

#3 楼 @greatghoul 切换成 path 应该是 bundle install 来应用吧

#5 楼 @bastengao 不是切换 path,是本地的 gem 代码有更新时可能需要 bundle update

需要 登录 后方可回复, 如果你还没有账号请 注册新账号