Rails项目执行rake db:create报postgresql适配器pg gem未加载错误
问题解决方案
1. 解决pg gem版本冲突
- 先卸载系统全局所有版本的pg gem,执行命令:
gem uninstall pg -a
弹出确认选项时全部选择同意即可。 - 确认项目根目录下Gemfile中pg的配置为
gem 'pg', '~> 0.15',保存修改。 - 若项目根目录下存在
Gemfile.lock文件,先删除该文件,再执行bundle install,让bundler重新拉取符合版本要求的pg依赖。 - 执行
bundle exec gem list pg确认当前项目绑定的pg版本为0.15.x系列,排除高版本激活冲突。
2. 解决libpq.5.dylib依赖缺失问题
该问题是由于重装PostgreSQL后,旧版本pg gem编译时绑定的libpq库路径失效导致,按以下步骤修复:
- 若使用Homebrew安装PostgreSQL,先安装提供libpq.5.dylib的PostgreSQL 12版本,执行命令:
brew install postgresql@12 && brew link postgresql@12 --force - 重新编译项目绑定的pg gem,关联新的libpq库路径,执行:
bundle pristine pg - 测试数据库配置命令是否正常:依次执行
bundle exec rake db:create、bundle exec rake db:migrate即可。
内容的提问来源于stack exchange,提问作者sjmario38
相关产品推荐
相关产品推荐

