M1 Mac搭建Rails项目MySQL数据库时出现_mysql_affected_rows符号未找到报错
M1 Mac 安装mysql@5.7后mysql2 0.4.9版本报错解决方案
该报错由mysql2 gem编译时未正确链接到M1版Homebrew安装的mysql@5.7动态库导致,可按以下步骤修复:
- 先将mysql@5.7的路径配置到终端环境变量:
echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc echo 'export LDFLAGS="-L/opt/homebrew/opt/mysql@5.7/lib"' >> ~/.zshrc echo 'export CPPFLAGS="-I/opt/homebrew/opt/mysql@5.7/include"' >> ~/.zshrc source ~/.zshrc
若使用bash作为默认终端,将上述配置写入
~/.bash_profile后执行source ~/.bash_profile即可
- 卸载当前错误编译的mysql2 0.4.9版本:
gem uninstall mysql2 -v 0.4.9
提示存在依赖时选择全量卸载即可 - 手动指定mysql配置路径重新安装对应版本:
gem install mysql2 -v 0.4.9 -- --with-mysql-config=/opt/homebrew/opt/mysql@5.7/bin/mysql_config - 若使用Bundler管理项目依赖,先配置Bundler构建参数再重新安装:
bundle config set --local build.mysql2 "--with-mysql-config=/opt/homebrew/opt/mysql@5.7/bin/mysql_config" bundle install
- 验证修复:重新执行
bin/rake db:create即可正常完成数据库创建操作
内容的提问来源于stack exchange,提问作者TamTam
相关产品推荐
相关产品推荐

