0

在过去的 1 天里,我只尝试得到这个,

C:\dev\man>rake db:create --trace
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Execute db:load_config
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:create
rake aborted!
Bad file descriptor
C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/active_record/c
onnection_adapters/mysql2_adapter.rb:312:in `query'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6-x86-mingw32/lib/active_record/c
onnection_adapters/mysql2_adapter.rb:312:in `execute'

gem install mysql2 -v '0.2.6' # 成功

什么是坏文件描述符?

我跟着这里,Ruby on rails : rake aborted bad file descriptor didn't work

我很不确定这两个文件

C:\Program Files\Mysql\Mysql Server 5.6\lib\libmysql.dll C:\Ruby193\bin\libmysql.dll

我在 Windows 7、rails 3.2.12 和 mysql 5.6、ruby 1.9.3

请帮忙!

4

1 回答 1

1

我非常明白这是32位和64位的问题。

我使用 ubuntu 12.04。我知道在窗户上使用导轨是没有意义的。必须这样做才能让我的设计师能够查看应用程序。

所有这些邪恶的根源是 mysql2 0.2.6 gem。我知道,如果我安装了 mysql2 最新版本,一切都会好起来的。

  • 我卸载了mysql 5.6。
  • 从http://dev.mysql.com/downloads/mysql/5.5.html#downloads下载 mysql 5.5.32 32-bit 以标准方式安装
  • 我的 Windows 7 系统中已经安装了 rails 3.2.12、ruby 1.9.3(就像这里http://rorguide.blogspot.in/2011/03/installing-mysql2-gem-on-ruby-192-and.html )
  • 现在,我仔细搜索了安装mysql server 5.5的正确路径,它必须在这里“c:\ Program Files \ MySQL \ MySQL Server 5.5 \ bin”,但它在这里是“c:\ Program Files(x86)\ MySQL\MySQL 服务器 5.5\bin"
  • 如何知道这一点,只需 cd 到 "c:\Program Files (x86)\MySQL\MySQL Server 5.5\bin" 并尝试 "mysql" 它不应该说 "command not found"
  • 现在, gem install mysql2 -- '--with-mysql-lib="c:\Program Files (x86)\MySQL\MySQL Server 5.5\lib" --with-mysql-include="c:\Program Files\MySQL \MySQL 服务器 5.5\包括"'

而已。

bundle install
rake db:migrate
于 2013-07-17T23:36:01.367 回答