苹果硅片上的Rails&MySQL

有没有人能够通过Apple Silicon上的mysql2gem让Rails与MySQL一起运行?我正在使用Ruby 2.5.3和Rails 5.2.3,但是我希望听到任何版本的成功消息。当前我遇到mysql2gem安装失败的问题:

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

谢谢!


解决方案

我仅在以下方面取得了成功:

rbenv exec gem install mysql2 -- 
--with-mysql-lib=/opt/homebrew/Cellar/mysql/8.0.25_1/lib 
--with-mysql-dir=/opt/homebrew/Cellar/mysql/8.0.25_1 
--with-mysql-config=/opt/homebrew/Cellar/mysql/8.0.25_1/bin/mysql_config 
--with-mysql-include=/opt/homebrew/Cellar/mysql/8.0.25_1/include 

(请注意,您可能需要更改这些路径中的版本号)

值得注意的是,这适用于最新版本的MySQL,不需要任何英特尔版本或使用自制软件的仿真版本(例如ibrew)。

将bundler配置为自动使用此生成配置:

您可能还希望将此配置设置为mysql2的默认配置。这样,无论何时Bundler必须重新安装mysql2(在同一台计算机上的此项目或任何其他项目上),它都会自动使用此配置。您可以使用以下内容执行此操作:

bundle config set --global build.mysql2 
--with-mysql-lib=/opt/homebrew/Cellar/mysql/8.0.25_1/lib 
--with-mysql-dir=/opt/homebrew/Cellar/mysql/8.0.25_1 
--with-mysql-config=/opt/homebrew/Cellar/mysql/8.0.25_1/bin/mysql_config 
--with-mysql-include=/opt/homebrew/Cellar/mysql/8.0.25_1/include 

相关文章