宝石在雪豹中安装mysql失败

时间:2009-09-02 09:45:54

标签: mysql rubygems osx-snow-leopard

我在Snow Leopard中成功安装了MySql x86_64,Ruby和Ruby Gems似乎安装得正确:

$ which mysql
/usr/local/mysql/bin/mysql
$ which ruby
/usr/bin/ruby
$ which gem
/usr/bin/gem
$ mysql
Your MySQL connection id is 404
Server version: 5.1.37 MySQL Community Server (GPL)
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
$ gem -v
1.3.5

不幸的是我在安装mysql gem时遇到错误:

$ sudo gem update --system
...
$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb --with-mysql-config=/usr/local/mysql/bin/mysql_config
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 for inspection.

6 个答案:

答案 0 :(得分:26)

我认为你应该在重新编译之前先尝试卸载旧的mysql gem

sudo gem uninstall mysql
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

答案 1 :(得分:12)

安装与Snow Leopard捆绑在一起的Xcode解决了这个问题。

答案 2 :(得分:2)

对我来说,它正在添加UNIX Tools选项(如果我准确地记住了名称),其中包括标题。当我最初安装XCode时,我没有包含这个组件,因为我不认为我会编写UNIX代码。我不知道......

答案 3 :(得分:1)

如果您使用MacPorts安装了MySQL 5,请使用命令:

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/opt/local/bin/mysql_config5

答案 4 :(得分:1)

当我更新到Lion时,我遇到了这个问题。在这种情况下,我何时到app store并下载最新的Xcode。然后我卸载并重新安装了数据库。

此问题与更新期间断开的链接有关。 Ruby喜欢在/ System中,而Apple喜欢将ruby放在/ Developer。

答案 5 :(得分:0)

遇到了同样的问题: 尝试了大部分解决方案:最后

编辑app / config / database.yml,将适配器更改为mysql2

  production:
  adapter: mysql2
  database: commissi_production
  username: root
  password: root
  host: localhost

&安培;在终端上运行

 gem install activerecord-mysql2-adapter

解决了这个问题。