【问题标题】:Ruby on Rails: MySql Gem does not work: uninitialized constant Mysql::ErrorRuby on Rails:MySql Gem 不起作用:未初始化的常量 Mysql::Error
【发布时间】:2012-01-10 19:13:53
【问题描述】:

我安装了以下内容: Mac Os 10.7.2(MacPro Pro,处理器 Core i7) 轨道 3.1.0 红宝石 1.9.2 mysql 5.5.19,适用于 osx10.6 (i386)

我可以毫无问题地安装 mysql gem: sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

我还可以登录并创建一个数据库和一个虚拟表。

但是当我想使用 rake 设置 mysql 数据库时 rake db:setup RAILS_ENV="production" --trace 然后我收到以下错误: 未初始化常量Mysql::Error

会不会是MySQL版本安装错了? 我使用了“Mac OS X ver. 10.6 (x86, 64-bit)”,但是当我运行 mysql -V 时,它会显示“i386”。这不是32位版本吗? 完整的输出是: Ver 14.14 Distrib 5.5.19,适用于 osx10.6 (i386),使用 readline 5.1

【问题讨论】:

  • 未初始化的常量表示您没有正确地将 mysql 作为依赖项添加到项目中。你的 gemfile 怎么样?
  • 谢谢,phoet,但 Gemfile 看起来不错。它包含以下行:gem 'mysql'
  • 所以这在开发中有效?
  • 是的,它在开发中工作,因为开发数据库是 sqlight。但现在使用 mysql2 gem 它也可以在生产中使用

标签: mysql ruby-on-rails gem osx-lion


【解决方案1】:

你跑bundle install了吗?另外建议使用mysql2 gem,而不是旧的mysql gem。

然后,当您在项目的根目录中时,使用 bundler 运行您的应用程序:

bundle exec rails s

使用bundle时,不需要使用gem install ...安装gem,只需使用bundle install即可。

【讨论】:

  • 非常感谢,Behrang,mysql2 终于可以工作了。首先我必须重新安装所有东西,因为某些东西已经损坏,但现在它可以工作了。
猜你喜欢
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多