2011-08-24 48 views
2

我一直在尝试让我的开发环境在OS X上安装好几天,而且我在mysql上遇到了很多麻烦。我已经通过mysql网站上的dmg文件安装了mysql。这固定了我遇到的大部分麻烦。无法运行由于MySQL错误导致的迁移

我目前的问题是,当我运行“耙分贝:迁移”我收到以下错误:

rake aborted!
undefined method `init' for Mysql:Class

我读的地方,使用中的Gemfile宝石“mysql2”和mysql2作为数据库适配器可能会解决这个问题。我试过这样做,但没有奏效。需要注意的一点是,mysql并不在我的PATH变量中的任何地方,所以在终端中输入“mysql”会将我带到/ var/_mysql,这有点奇怪。

我需要为我的路径变量添加'/ usr/local/mysql/bin'吗?如果是这样,我如何在OS X中执行此操作?

谢谢。

编辑:我添加/ usr/local/mysql/bin到我的路径,仍然有相同的错误。

回答

4

要解决这个问题,我结束了使用mysql2 gem而不是mysql gem。这个过程并不是直截了当的,所以我想发布一些我以后需要帮助的确切步骤。

首先,从mysql网站下载对应于您的OS X版本的OS X DMG文件。你将需要安装mysql,然后是启动项目,最后是首选项面板(所有这3个都在DMG文件中)。

接下来,您需要将mysql添加到您的路径变量中。我相信你可以编辑/ etc /路径或添加一个新文件到/etc/paths.rd/,但我最终修改了我的终端的配置文件。我添加下面一行到〜/ .zshrc(这仅适用于zsh的,如果你使用bash的文件是一样的东西〜/ .bashrc中):

export PATH=[path:variables]:/usr/local/mysql/bin 
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/" 

[路径:变量]仅仅是一个占位符所有其他路径变量都在那里。第二行是获得mysql2 gem工作所需的东西。第二行允许mysql找到所需的库文件。

接下来,更换或添加

gem 'mysql' 

gem 'mysql2', '< 0.3' 

的< 0.3是必需的,否则一些奇怪的错误被抛出。 (对不起,我没有保存堆栈跟踪)。最后一步是将数据库适配器更改为mysql2。我希望这可以帮助别人节省很多头痛:)

+0

LIFESAVER!谢谢。 – Alex

-1

我建议你完全卸载MySQL和MySQL gem(s)。然后安装Homebrew软件包管理器并使用Homebrew安装MySQL。之后安装宝石。在许多情况下,家酿会让你的生活变得更轻松。如果您对C库的安装不太自信,特别有用。

+1

感谢您的建议,但我发现从MySQL网站安装的DMG是一个更好的选择。我结束了使用mysql2,因为很多人都提出了这个问题,并最终开始工作。感谢您的输入。 – Max

相关问题