Mac OSX:MySQL gem安装失败(RoR)

时间:2012-02-19 17:27:24

标签: mysql ruby-on-rails

我正在运行OSX 10.7(Lion),最近卸载了MacPorts,因为MySQL无法启动。 MySQL(64位)现在正在启动,但现在我无法安装MySQL gem(Rails)。我尝试过使用with-mysql-configARCHFLAGS选项,但都没有。我尝试重新安装Ruby 1.9.3,它也没有改变任何东西。在我认为MySQL 5.0.95可能导致问题之后我正在运行MySQL 5.1.61。这是追溯:

Christy$ gem install mysql2
Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
    ERROR: Failed to build gem native extension.

    /Users/Christy/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
creating Makefile

make
compiling client.c
client.c: In function ‘rb_raise_mysql2_error’:
client.c:98: warning: ISO C90 forbids mixed declarations and code
client.c: In function ‘rb_mysql_client_socket’:
client.c:590: warning: ISO C90 forbids mixed declarations and code
compiling mysql2_ext.c
compiling result.c
linking shared-object mysql2/mysql2.bundle
ld: file not found: /opt/local/lib/libssl.1.0.0.dylib for architecture x86_64
collect2: ld returned 1 exit status
make: *** [mysql2.bundle] Error 1

我尝试重新安装openssl(认为file not found: /opt/local/lib/libssl.1.0.0.dylib可能因此而存在),但它仍然不起作用。我对此很新,所以任何帮助都会非常感激!谢谢!

编辑/opt/local/lib/不存在。我不知道为什么它在寻找文件。关于如何将其指向正确位置的任何想法(locate libssl指向/usr/lib/libssl.0.9.8.dylib/usr/local/Cellar/openssl/0.9.8s/lib/libssl.0.9.8.dylib以及其他地方?

4 个答案:

答案 0 :(得分:2)

我的问题很相似,事实证明我安装了mysql并安装了macports。在fully uninstalling macports之后,我用brew:

卸载并重新安装了mysql
brew uninstall mysql
brew install mysql

答案 1 :(得分:2)

我必须设置我的mysql安装的路径是5.1。这样做,然后它起作用了:

export ARCHFLAGS="-arch x86_64"
export PATH=$PATH:/opt/local/lib/mysql51/bin

答案 2 :(得分:1)

LD_LIBRARY_PATH中有一个错误的路径。可以通过运行export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib ; gem install mysql2为该shell临时设置它。

但是,可能建议将定义添加到.bashrc(或其他适当的 .shellrc 文件)export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib,以便所有shell都能获得它。

答案 3 :(得分:0)

不确定,但是您可能需要安装libssl-dev软件包才能进行编译