安装mysql2 gem时出现问题

时间:2019-02-22 13:36:08

标签: mysql ruby-on-rails ruby

当我在项目中运行bundle install时,在安装mysql时遇到错误。这很奇怪,因为该项目运行良好,直到我取消服务器以使用rails更新我的数据库记录并且出现了rails错误。当我运行捆绑安装程序时,很多我的gems丢失了,现在我试图重新安装所有gems,但是它在mysql2上一直失败。

错误日志:.rvm / gems / ruby​​-2.6.1 / extensions / x86_64-darwin-18 / 2.6.0-static / mysql2-0.5.2 / gem_make.out输出: < / p>

"clang -o conftest -I/Users/cinta/.rbenv/versions/2.6.1/include/ruby-2.6.0/x86_64-darwin18 -I/Users/cinta/.rbenv/versions/2.6.1/include/ruby-2.6.0/ruby/backward -I/Users/cinta/.rbenv/versions/2.6.1/include/ruby-2.6.0 -I. -I/Users/cinta/.rbenv/versions/2.6.1/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe conftest.c  -L. -L/Users/cinta/.rbenv/versions/2.6.1/lib -L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include     -lruby.2.6-static -framework Security -framework Foundation -lpthread -ldl -lobjc   "
clang: error: unsupported option '--with-cppflags=-I/usr/local/opt/openssl/include'
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

我正在使用Macbook pro OS Mojave 10.14.1

Ruby版本'2.6.1'

我该如何解决?

3 个答案:

答案 0 :(得分:1)

以某种方式,在尝试几次键入此命令后起作用了:

$ gem install mysql2 -- --srcdir=/usr/local/mysql/include

但是随后服务器将无法运行。

但是从this answer键入却可以:

$ gem uninstall mysql2
$ gem install mysql2 --platform=ruby

答案 1 :(得分:1)

较早的安装mysql2的解决方案将set bundler config设置为具有--with-cppflags选项,这就是clang现在抱怨不支持的选项。

似乎不再需要该选项。我和你有同样的错误,现在以下对我有用。

bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"
bundle install

答案 2 :(得分:0)

简单,最快的解决方案是

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

参考:https://gist.github.com/fernandoaleman/ee3ac6957c2ba4f7d7d33a251d58b191