在Cygwin里使用Rails2.x生成项目时的一个Bug

平时除了在家里自己的Macbook上使用Textmate开发Rubyonrails程序之外,基本上都在用Windows写Rubyonrails程序。在Windows上写Rails代码真的不是什么愉快的事儿。虽然有NetBeans这样的IDE,但它中文和日文支持的还不是那么尽善尽美。所以,我一直都用Cygwin + GVim即Rails插件来写Rails。虽然在Cygwin里Ruby速度慢一点儿,但习惯GVim以后,基本不用碰鼠标的感觉真的是不错。

可是刚才遇到了一个小问题。就是在Cygwin里不能生成Rails项目了。如果执行Rails myproject来生成项目,就会出现下面的错误:


$ rails myproject
No such file or directory - /dev/urandom

这个问题很奇怪,/dev/urandom是Unix的一个系统级别的随机数生成器,Cygwin里有没有就清楚了。为了尽快解决问题,Google了一下。解决方法倒是很简单,不过真的很出人意料。

只需在/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/rails_generator/secret_key_generator.rb文件的第86行加上一句话:

puts "Before Read"

就可以了。这也太奇怪了。于是继续查原因。在Rails Trac里有人提交了Bug,但结论大概是说这不是Rubyorails和Cygwin的问题,而是Ruby1.8.6的Bug。

相关文章

ROR

Leave Comment

(必需)

(必需)