Rails 惨痛教训!升级 ruby 编译版本造成项目启动不能

linjunhalida · 2014年09月29日 · 最后由 googya 回复于 2014年09月29日 · 1753 次阅读

最近胡搅瞎搞了一下 brew,弄坏了重新装,之后一个项目就死活起不来了。因为项目依赖众多,memcache,redis,其它 rails 项目。。一个个排查过来,浪费了我好几天的时间。

项目没有报错,用到了 cas,登录的时候一直 redirect loop。不报错就麻烦了,定位不到问题所在。 因为重新装了 brew,以为是 memcache,redis,mysql 这些的问题,全部重新装了,还是不行。 最后回到经典的给源码打日志方法。

打了一堆日志,看了一堆代码,最后找到了跑飞的地方,发现其实是有异常抛出的,只是不知道被哪个无良的 gem 捕捉到了。 看到异常是跑到了gems/backports-2.6.5/lib/backports/1.9.1/io.rb:17:inopen_with_options_hash'`,参数不对,外面调用的方法传递的参数就是一个 url,我开始怀疑是因为我更新了 ruby,从原来的 ruby-2.0.0-p451 升级到了 ruby-2.0.0-p576。然后降回到了 p451,问题就没有出现了。

本来我以为升级编译版本应该没有问题的,没想到会出现问题,在这里喊一声。。升级需谨慎,不作死就不会死。

why are you so diao

no zuo no die

啊 多么痛的领悟。

直接升级到 2.1

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