mysql - 无法在 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
但是,对于它的价值,我以前安装过但没有成功,但可能也需要:
- 自制,并
brew doctor
说是ready to brew
。 - Xcode 工具
xcode-select --install
- mysql
brew install mysql
(我可以建立本地连接) - openssl
brew install openssl && brew link openssl --force
- rbenv 和
rbenv rehash
- 制作
brew install cmake
推荐阅读
- google-sheets - Google表格查询其中列与另一个表格列范围内的数据匹配
- google-apps-script - 使用脚本清除 gsheet 上的值
- python - 在 Paraview 上可视化 SimpleITK 坐标
- java - POM 文件依赖的目的
- output - 将 texreg 用于使用 rugarch 包获得的模型输出
- android-studio - 如何将语音识别与 Porcupine 一起使用
- java - 如何在java中将转换为字节数组的文本文件内容写入另一个文件
- cypress - 赛普拉斯:网站的一部分是 http 其他是 https 我可以绕过不同的来源吗?
- python - 如何在 python 中使用@attribue 和清理数据集?
- sql - SQL 计算 - 我想将本月的开始数量设为上个月的结束数量