带有mysql问题的Rails 3
Posted
技术标签:
【中文标题】带有mysql问题的Rails 3【英文标题】:Rails 3 with mysql problem 【发布时间】:2011-04-13 16:20:07 【问题描述】:我的雪豹已更新到 rails 3。以前我使用 sqlite 进行开发。 当我 rake db:create 时它工作正常。
现在我正在尝试在我的 mac 上安装 mysql。
-
我下载了mysql-5.1.50-osx10.6-x86.dmg
安装了所有三个文件。(mysql-version-osx10.5-x86.pkg, MySQL.prefPane, MySQLStartupItem.pkg)
执行此操作以安装 gem。
一切都很好。 gem 创建没有错误。
我用
创建新项目rails new p1 -d mysql与..一起处理
耙数据库:创建
它显示
在任何 gem 源中找不到 gem 'mysql2 (>= 0, runtime)'。 尝试运行“捆绑安装”。然后我安装新的 gem。 sudo gem install mysql2.
同样的问题。我得到了
dyld:惰性符号绑定失败:找不到符号:_mysql_init 引用自:/Library/Ruby/Gems/1.8/gems/mysql2-0.2.3/lib/mysql2/mysql2.bundle 预期在:平面命名空间 dyld:找不到符号:_mysql_init 引用自:/Library/Ruby/Gems/1.8/gems/mysql2-0.2.3/lib/mysql2/mysql2.bundle 预期在:平面命名空间 跟踪/BPT 陷阱我删除了重复的 mysql2.bundle。结果是一样的。错误。
我已经阅读了网上几乎所有的文章。但是可以解决这个问题。
是不是因为我在雪豹上安装了32位的mysql?还是我的红宝石问题? 为什么rails 3突然要求mysql2 gem,因为我使用'-d mysql'。
Mac 上的 Rails 3 + MySql
谢谢。祝你有美好的一天。
【问题讨论】:
【参考方案1】:Rails 已切换到 mysql2,请参阅 wycat's blog。
【讨论】:
【参考方案2】:我做了多次尝试和错误
mysql-5.1.50-osx10.6-x86 mysql-5.1.50-osx10.6-x86_64
我收到了 mysql.prefpane 和 dyld:lazy symbol binding failed: Symbol not found: _mysql_init 问题。
然后我在http://weblog.rubyonrails.org/ 找到了一个帖子。 它说我需要安装
mysql-5.1.50-osx10.5-x86_64
效果更好。解决了这两个问题。但仍然得到 errno: 2. 我无法创建数据库。
通过REBOOT系统解决了errno:2。
【讨论】:
【参考方案3】:尝试安装http://rubygems.org/gems/ruby-mysql
【讨论】:
【参考方案4】:我们为此苦苦挣扎了大约两个小时,重新安装了几次 mysql,最终通过“rvm 内爆”和随后重新安装 rvm 解决了我们的问题。这会删除 .rvm 下的所有内容,因此请小心,但如果您使用的是 rvm,则值得一试。
【讨论】:
以上是关于带有mysql问题的Rails 3的主要内容,如果未能解决你的问题,请参考以下文章
为啥带有 Mysql2 Gem ActiveRecord::Base.connection.execute(sql) 的 Rails 3 返回 Array 而不是 Hash?
如何根据从下拉列表中选择的 CATEGORY 来控制 NEW/EDIT 视图中的列标题。带有 MYSQL 的 Ruby on Rails