在OSX上安装Mysql2时出错

时间:2016-10-17 19:34:41

标签: mysql macos rubygems

尝试安装特定版本的Mysql2 Gem。我明白了:

sudo gem install mysql2 -v '0.3.20'
Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
    ERROR: Failed to build gem native extension.

    /usr/local/var/rbenv/versions/2.2.3/bin/ruby -r ./siteconf20161017-56699-1dsu6v9.rb extconf.rb
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using mysql_config at /usr/local/bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
-----
Don't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load
-----
-----
Setting libpath to /usr/local/Cellar/mysql/5.7.16/lib
-----
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling client.c
compiling infile.c
compiling mysql2_ext.c
compiling result.c
linking shared-object mysql2/mysql2.bundle
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mysql2.bundle] Error 1

make failed, exit code 2

作为参考,我预先运行brew install mysql并成功运行。我还尝试卸载所有版本的brew的mysql引用,以防万一。

有什么东西我不见了?我环顾四周,大多数网页都指向确保你运行的brew install mysql

如果我对上述说明不太清楚,我得到的失败是在成功运行brew install mysql后,错误来自于尝试通过gem install mysql2 -v '0.3.20'安装宝石

有什么想法吗? 感谢

2 个答案:

答案 0 :(得分:3)

仅供参考最终工作的是xcode-select --install,它似乎安装了处理ld: library not found for -lssl问题的OpenSSL库。

答案 1 :(得分:1)

如何使其在MacOS Mojave上运行。

确保openssl已通过Homebrew在Mac上安装:

brew install openssl

然后按照以下特殊方式安装mysql2 gem:

gem install mysql2 -v 'x.x.x' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include

其中x.x.x-mysql2 gem的指定版本。