最近胡搅瞎搞了一下 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:in
open_with_options_hash'`,参数不对,外面调用的方法传递的参数就是一个 url,我开始怀疑是因为我更新了 ruby,从原来的 ruby-2.0.0-p451 升级到了 ruby-2.0.0-p576。然后降回到了 p451,问题就没有出现了。
本来我以为升级编译版本应该没有问题的,没想到会出现问题,在这里喊一声。。升级需谨慎,不作死就不会死。