无法在 M1 MacBook Big Sur 中安装 mysql2 0.5.3
Posted
技术标签:
【中文标题】无法在 M1 MacBook Big Sur 中安装 mysql2 0.5.3【英文标题】:Couldn't install mysql2 0.5.3 in M1 MacBook Big Sur 【发布时间】:2021-11-07 23:48:13 【问题描述】:您好,我正在尝试在 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 进行安装,但没有成功。
【问题讨论】:
***.com/questions/67840691/… 【参考方案1】:我也遇到了这个问题,我认为最终解决它的方法是运行:
gem install mysql2 -v '0.5.3' -- --with-opt-dir=$(brew --prefix openssl) --with-ldflags=-L/opt/homebrew/Cellar/zstd/1.5.0/lib
但是,无论如何,我之前安装过但没有成功,但可能还需要:
自制,brew doctor
说是ready to brew
。
Xcode 工具xcode-select --install
mysql brew install mysql
(我可以建立本地连接)
openssl brew install openssl && brew link openssl --force
rbenv 和rbenv rehash
cmake brew install cmake
【讨论】:
它对我有用。谢谢 只是考虑到你必须检查 zstd 版本在我的情况下它是 1.5.1 所以我的命令是gem install mysql2 -v '0.5.3' -- --with-opt-dir=$(brew --prefix openssl) --with-ldflags=-L/opt/homebrew/Cellar/zstd/1.5.1/lib
呸,你做到了!这太难了哈哈。出于某种原因,我认为 0.5.3 版本也很重要。
这个命令在我的情况下(MacOS Monterrey)单独修复了它!,不同的 zstd 版本,但仍然有效。谢谢楼主!
不幸的是,这对我在使用 BigSur 的 M1 上不起作用。这个***.com/a/68181856/5804379解决了我的具体问题【参考方案2】:
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
【讨论】:
以上是关于无法在 M1 MacBook Big Sur 中安装 mysql2 0.5.3的主要内容,如果未能解决你的问题,请参考以下文章