M1 Mac上Ruby on Rails应用接收HTTP请求时崩溃问题排查与解决
解决M1 MacBook Pro上Ruby 2.7.8 + Rails 6.1.4应用Puma线程崩溃问题
问题背景
- 运行环境:M1 MacBook Pro
- 应用栈:基于Ruby 2.7.8、Rails 6.1.4的旧版Rails应用
- 异常现象:通过rbenv或rvm安装Ruby后,应用启动无异常,但首次接收HTTP请求时,Puma工作线程会崩溃并重启
排查尝试
- 分析Puma日志及macOS崩溃报告定位错误
- 尝试更换旧版OpenSSL编译Ruby、重置Mac等方案,均未解决问题
解决方案
问题根源与PostgreSQL连接配置相关,在database.yml的数据库连接配置中添加gssencmode: "disable"即可修复:
# database.yml 示例配置 development: adapter: postgresql database: your_development_db username: db_user password: db_password host: localhost gssencmode: "disable"
添加该配置后,应用可正常处理Web请求,Puma工作线程不再崩溃重启。
内容的提问来源于stack exchange,提问作者Brian Teeter
相关产品推荐
相关产品推荐

