无法在 M1 MacBook Big Sur 中安装 mysql2 0.5.3



你好,我正在尝试在MacBook M1 Big Sur中安装mysql2 gem,我得到以下错误。

ld: library not found for -lzstd
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mysql2.bundle] Error 1

完全错误

Using mysql_config at /opt/homebrew/bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for SSL_MODE_DISABLED in mysql.h... yes
checking for SSL_MODE_PREFERRED in mysql.h... yes
checking for SSL_MODE_REQUIRED in mysql.h... yes
checking for SSL_MODE_VERIFY_CA in mysql.h... yes
checking for SSL_MODE_VERIFY_IDENTITY in mysql.h... yes
checking for MYSQL.net.vio in mysql.h... yes
checking for MYSQL.net.pvio in mysql.h... no
checking for MYSQL_ENABLE_CLEARTEXT_PLUGIN in mysql.h... yes
checking for SERVER_QUERY_NO_GOOD_INDEX_USED in mysql.h... yes
checking for SERVER_QUERY_NO_INDEX_USED in mysql.h... yes
checking for SERVER_QUERY_WAS_SLOW in mysql.h... yes
checking for MYSQL_OPTION_MULTI_STATEMENTS_ON in mysql.h... yes
checking for MYSQL_OPTION_MULTI_STATEMENTS_OFF in mysql.h... yes
checking for my_bool in mysql.h... no
-----
Don't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load
-----
-----
Setting libpath to /opt/homebrew/Cellar/mysql/8.0.26/lib
-----
creating Makefile
current directory: /Users/santosh/.rvm/gems/ruby-2.6.3/gems/mysql2-0.5.3/ext/mysql2
make "DESTDIR=" clean
current directory: /Users/santosh/.rvm/gems/ruby-2.6.3/gems/mysql2-0.5.3/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 -lzstd
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/santosh/.rvm/gems/ruby-2.6.3/gems/mysql2-0.5.3 for inspection.
Results logged to /Users/santosh/.rvm/gems/ruby-2.6.3/extensions/-darwin-20/2.6.0/mysql2-0.5.3/gem_make.out
An error occurred while installing mysql2 (0.5.3), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'` succeeds before bundling.

我试着安装不同版本的Ruby,都不顺利。

我也有这个问题,我认为最终解决它的是运行:

gem install mysql2 -v '0.5.3' -- --with-opt-dir=$(brew --prefix openssl) --with-ldflags=-L/opt/homebrew/Cellar/zstd/1.5.0/lib

但是,不管怎样,我以前安装过,但没有成功,但可能也需要:

  • homebrew,brew doctor说是ready to brew
  • Xcode toolsxcode-select --install
  • mysqlbrew install mysql(和我可以做一个本地连接)
  • opensslbrew install openssl && brew link openssl --force
  • rbenv andrbenv rehash
  • cmakebrew install cmake

Apple Macbook air M1。蒙特利。您需要使用brew安装MySQL和openssl。

这个适合我。

gem install mysql2 -- --with-opt-dir=/opt/homebrew/opt/openssl@3 --with-mysql-dir=/opt/homebrew/opt/mysql

最新更新