首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法在macOS Sierra上安装mysql2 gem

无法在macOS Sierra上安装mysql2 gem
EN

Stack Overflow用户
提问于 2016-09-21 21:19:47
回答 11查看 23.1K关注 0票数 51

我正在新的macOS Sierra中设置我的开发环境。

首先,我安装了Ruby Rbenv,Ruby (2.3.1)Homebrew和最新版本的MySQL (5.7.15)

代码语言:javascript
复制
$ brew install mysql
$ mysql.server start

好了,MySQL已经初始化了。是时候安装mysql2 gem了...

代码语言:javascript
复制
$ gem install mysql2 -- --with-mysql-config=/usr/local/Cellar/mysql/5.7.15/bin/mysql_config

但它并没有起作用。

代码语言:javascript
复制
Building native extensions with: '--with-mysql-config=/usr/local/Cellar/mysql/5.7.15/bin/mysql_config'
This could take a while...
ERROR:  Error installing mysql2:
    ERROR: Failed to build gem native extension.

    current directory: /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.4/ext/mysql2
/Users/macuser/.rbenv/versions/2.3.1/bin/ruby -r ./siteconf20160921-16853-x1boio.rb extconf.rb --with-mysql-config=/usr/local/Cellar/mysql/5.7.15/bin/mysql_config
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/Cellar/mysql/5.7.15/bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
-----
Dont 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.15/lib
-----
creating Makefile

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-16/2.3.0-static/mysql2-0.4.4/mkmf.log

current directory: /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.4/ext/mysql2
make "DESTDIR=" clean

current directory: /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.4/ext/mysql2
make "DESTDIR="
compiling client.c
compiling infile.c
compiling mysql2_ext.c
compiling result.c
compiling statement.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

Gem files will remain installed in /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.4 for inspection.
Results logged to /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-16/2.3.0-static/mysql2-0.4.4/gem_make.out
EN

回答 11

Stack Overflow用户

发布于 2016-09-28 01:02:39

我只是遇到了同样的问题,尝试了上面列出的所有解决方案,然后开始用头撞键盘几个小时。

然后我想尝试安装/重新安装Xcode命令行工具:

代码语言:javascript
复制
xcode-select --install

一旦我这样做了,mysql2 gem安装就没有问题了。我希望这能起到作用!

票数 102
EN

Stack Overflow用户

发布于 2019-04-10 09:44:32

有很多很棒的答案,我可以把它们组合成这样:

代码语言:javascript
复制
gem install mysql2 --source 'https://rubygems.org/' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include

因为我和bundle config在一起不舒服

票数 21
EN

Stack Overflow用户

发布于 2017-03-08 11:50:45

我在这里分享我的解决方案,因为其他答案都不起作用。

对于我的环境,我需要MySQL 5.6,所以我必须使用:

brew install mysql56代替brew install mysql

安装mysql2 gem的捆绑包一直失败,直到:

brew link mysql56

之后我还跑了一次:

mysql.server start

最后一步可能是不必要的,但只需以防万一。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39617761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档