繁体   English   中英

安装mysql2 gem的问题

[英]Problems installing mysql2 gem

当我在我的项目中运行 bundle install 时,我收到一个错误,说明它很难安装 mysql。 这很奇怪,因为该项目运行良好,直到我取消服务器以使用 rails 更新我的数据库记录并且出现 rails 错误。 当我运行 bundle install 时,我的很多 gem 都丢失了,现在我正在尝试重新安装所有 gem,但它在 mysql2 上一直失败。

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

"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”

我该如何解决?

不知何故,经过多次尝试输入此内容后:

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

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

但是从这个答案中输入,有效:

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

安装 mysql2 的旧解决方案将 bundler 配置设置为具有--with-cppflags选项,这是 clang 现在抱怨不支持的原因。

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

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

最简单和最快的解决方案是

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM