耙子流产了!升级到Snow Leopard后关闭流

时间:2009-08-29 11:58:25

标签: mysql ruby-on-rails rubygems osx-snow-leopard rake

我刚刚将Leopard系统升级为Snow。我有一个Rails应用程序,在升级之前运行了一套Spec示例;它使用了一个mysql数据库。

升级后,运行rake规范会失败,如下所示:

...
** Invoke db:schema:load (first_time)
** Invoke environment 
** Execute db:schema:load
rake aborted!
closed stream
/opt/local/lib/ruby/1.8/mysql.rb:1032:in `sync='
/opt/local/lib/ruby/1.8/mysql.rb:1032:in `write'
/opt/local/lib/ruby/1.8/mysql.rb:1092:in `finalizer
...

我已经尝试了以下内容:

  • 重新安装Mysql 5.1.37 x86;
  • 卸载旧的mysql gem;
  • 运行rake:db:migrate,rake:db:prepare等运行rake之前:spec没有成功;
  • gem update --system。

最奇怪的是,当通过命令行逐个调用或直接从TextMate调用时,规范运行正常。

有什么建议吗?

如果您需要更多信息,请询问:)

1 个答案:

答案 0 :(得分:0)

您可能想尝试重新编译mysql gem。对我来说,使用Ruby 1.8.7很容易做到这一点,但我不能让它适用于1.9.1。无论如何,这里有一些可能有用的链接。

  1. http://void-design.net/2009/08/05/ruby-191-mysql-and-a-snow-leopard/
  2. http://www.schmidp.com/2009/06/14/rubyrails-and-mysql-on-snow-leopard-10a380/
  3. Rails, MySQL and Snow Leopard