Rails 3 Mysql问题

Gor*_*nor 15 mysql ruby-on-rails

尝试使用mysql启动新的Rails 3 beta 4应用程序....运行OS X Snow Leopard.使用以前版本的Rails,我对MySQL没有任何问题.但是现在当我启动Rails 3应用程序时,当我在Rails index.html启动屏幕上单击"关于您的应用程序环境"时,我收到以下错误:

mysql的未定义方法`init':Class

NZK*_*Koz 16

更改您的Gemfile以使用'mysql2',它是一个更现代的驱动程序,并具有其他人提到的更好的功能.

新的Rails应用程序默认使用mysql2 gem.

  • 确保你也将你的database.yml文件更改为使用"adapter:mysql2"而不是"adapter:mysql",否则你将收到有关未加载mysql2 gem的错误. (5认同)
  • 我是否还需要安装mysql2 gem?这看起来很近.我收到以下错误:rake aborted!dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle,9):未加载库:libmysqlclient.18.dylib引用自:/Library/Ruby/Gems/1.8 /gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle原因:找不到图像 - /Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle/Users/chris/rails_projects/sienab/Rakefile:4(通过使用--trace运行任务来查看完整跟踪) (3认同)

小智 7

我遇到了同样的问题(RoR 3,OSX 10.6,mysql 2.8.1 gem).

您可以使用irb来排除RoR:

irb
require 'rubygems'
require 'mysql'
db = Mysql.connect('hostname', 'username', 'password', 'database')
Run Code Online (Sandbox Code Playgroud)

如果上述方法不起作用,您可能想尝试删除mysql gem并重新安装它.我遇到一篇帖子说bundle install可能搞乱了安装而没有显示错误.

sudo gem uninstall mysql
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Run Code Online (Sandbox Code Playgroud)

验证一切正常irb,然后再次启动rails.

  • 执行此操作后,我收到错误:`undefined方法'connect'for Mysql:Class from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p0/bin/irb:16:in <main>`.如何解决这个问题? (2认同)