书籍 Ruby on Rails Tutorial 在 ubuntu 上运行 guard 的一个问题

limpid · 2013年03月03日 · 最后由 limpid 回复于 2013年03月15日 · 2330 次阅读

Ruby on Rails Tutorial 的第三章,Guard 和 Spork 配合来自动化和加速 rspec 的测试。在 ubuntu 上运行出错,按照书上的配置,guard 不能自动把 spork 启动起来,会提示一堆错误。

这个错误的原因,估计是 Gem Guard-spork 的一个 bug,应该是在子进程中启动 spork 时的字符串拼接的问题。把其依赖的 Gem childprocess 从 0.3.8 降价到 0.3.6,可以正常工作,开始时我这样做的。不过,觉得降级的事情,不太爽,就把 Guard-spork 升级了,从 1.2.0 到 1.5.0,可以工作了,只是有个关于 rb-inotify 的警告信息,我把这个的版本也从 0.8.8 升级到 0.9, 一切 ok 了

@andor_chen,你的那个中文翻译版做的挺不错的,我在 taobao 上 4.9 的时候买了一本,哈哈。考虑把这个做个注释么?我已经在 github 上给英文版作者,发过 pull request 了。

注:这个 bug 发生于 ubuntu 12.10,12.04 似乎也有这个问题

其实这也不算 bug 吧,教材毕竟都有时效性,可是 gems 却在不停更新换代。建议不要一切以教材为准,出现问题的话直接去看看相关的 changelogs 和 issues

@nightire ,这个教程作者一直在 github 上维护着更新,最新版的也存在这个问题。不过,作者演示的可能是 mac 系统,说在 ubuntu 上有 bug 可能有点过分了,呵呵,用 issue 可能更合适

把标题中的 bug 字样去掉了,呵呵

我也是在 Ubuntu 上遇到了同样的问题。好像是将 Guard-spork 指向 github 上的最新版 master(stackoverflow 上给出的答案),就解决了这个问题。

@cisolarix ,是的,两种方式都是升级了 Guard-spork 的版本

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