Archive for February, 2009

catch your railsapp’s exception

Wednesday, February 25th, 2009

跑在线上的 railsapp 抛出来的 exception 很重要, 依靠它才能发现实际的 bug, 但是看 production log 是完全不靠谱的方式, 之前有个 exception notifier plugin 可以在出现异常的时候发邮件, 但是我没有 smtp server 怎么办?

急人之所急, 想人之所想, 老外抓住了这个细分市场, 出现了两个专门捕捉 exception 的 SaaS: getexceptional.com, hoptoadapp.com

我用了第二个, 界面比较Q, 注册个免费帐户(高级服务是要收费的), 安装指定插件, 但是测试插件出现问题:

$rake hoptoad:test
(in /Users/greg/code/coupe)
rake aborted!
no such file to load -- application

Google 一下这个问题是有普遍性的, 因为用了 rails edge (2.3), 有人写了修改版本, 我试了一下可以用.

不过建议等 rails 2.3 发布了, 还是换回官方版本.

setup rails edge on Windows XP

Wednesday, February 25th, 2009

帮朋友在 Windows XP 上搭建 rails 开发环境, 想想已经两年没正经用 windows, 不过这次一路搞下来还比较顺利. 简单记录一下步骤:

首先去 rubyforge.org 上下载 all-in-one ruby installer, 安装以后已经默认加好了路径, c:\ruby -v 应该可以看到. 这次我还是装了 1.8.6, 不过看 1.8.7 已经到了 rc2, 不远了.

第二步升级 gem update –system, 把 gem 本身升级一下.

接下来 gem install rails –include-dependencies 安装 rails, 其实如果用 edge 的话也可以不安装.

然后 gem install mongrel, 用来做本地服务器

装 Netbeans 6.5 做 IDE, 现在注册下载后推荐三个朋友也下载可以得到一个 2G U盘, 我照着做了, 看什么时候能收到 XD

最后装 Mysql, 开始装了 5.1 作为 Windows 服务, 但是启动 rails app 的时候连接 mysql 失败, 发现 rails 2.3 中去掉了 mysql.rb 这个默认驱动, 必须自己安装.

gem install mysql 报错说文档生成的时候有问题, 卸掉重装 gem install mysql –no-ri –no-rdoc, 可以绕过错误

后来又发现莫名奇妙的错误, 解决方法是把 mysql 现在的一个 dll 拷贝到 ruby\bin 下面, 后来又出现 Mysql 服务不能启动的问题, 最后换了 Mysql 5.0, 用 mysqld-nt 手动添加服务搞定.

最后还要装 Git, windows 上面有个 msysGit 可以用, 不过感觉巨慢, 不知道是 windows 上的性能不好, 还是朋友的机器太肉. 通过 git bash 直接导出项目会发现所有的文件都是 modified, 不用说肯定是文件结束符的问题, 之前就发现过但是没找到解决办法, 当时还被迫把项目转回了 svn, 这次发现 github.com 已经有解决方案了: deal with newlines in git.

这下完事大吉了.