当我更换 mac m2 芯片 无法使用使用 mysql2 报错 symbol not found in flat namespace (_mysql_affected_rows)

2022-09-03 10:02:19 +08:00
 zzzzxl

Rails 版本 7.0.3

MySQL 版本 5.7.29

Ruby 版本 3.1.1

Rvm 版本 1.29.12

mysql2 版本 ~> 0.5

我的项目正在尝试迁移 m2 芯片,当我尝试运行rails s时 出现了以下错误

`require': dlopen(/Users/list/.rvm/rubies/ruby-3.1.1/lib/ruby/gems/3.1.0/gems/mysql2-0.5.4/lib/mysql2/mysql2.bundle, 0x0009): symbol not found in flat namespace (_mysql_affected_rows)

我尝试过以下解决方案,都不能解决

bundle config build.mysql2 "--with-ldflags=-L/usr/local/mysql/lib --with-cppflags=-I/usr/local/mysql/include"
 gem install mysql2 -v '0.5' -- --with-mysql-config=/usr/local/mysql/bin/mysql_config --with-ldflags="-L/usr/local/mysql/lib -L$(brew --prefix openssl)/lib" --with-cppflags=-I$(brew --prefix openssl)/include

请问如何解决这个问题?

2699 次点击
所在节点    Ruby on Rails
2 条回复
everydaystruggle
2022-09-03 10:42:37 +08:00
cxh116
2022-09-03 10:49:19 +08:00
--with-ldflags=-L/usr/local/mysql/lib --with-cppflags=-I/usr/local/mysql/include"


这里的目录不对,要你安装的 mysql 5.7 的头文件目录,你用 brew 安装完时应该有提示,或 brew info package_name 也可以看到。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/877398

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX