You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下Rails 6.1连接PostgreSQL报pg_ext加载错误怎么解决?

问题根因

你遇到的LoadError: cannot load such file -- 3.0/pg_ext错误,本质是Windows环境下预编译的mingw32版本pg gem,没有适配你当前使用的Ruby 3.x版本,导致C原生扩展加载失败。同时你贴出的database.yml存在缩进错误,也可能引发后续配置读取异常。

解决步骤
  • 第一步:卸载所有已安装的pg gem版本,执行命令:
    gem uninstall pg -a
    若提示存在绑定依赖,选择全部卸载即可。
  • 第二步:将PostgreSQL 13安装目录下的bin文件夹路径,添加到Windows系统环境变量PATH中,重启命令行窗口后执行psql --version,确认能正常返回版本号,保证编译pg扩展时能调用到PostgreSQL的相关依赖库。
  • 第三步:手动编译安装适配你环境的pg gem,执行命令:
    gem install pg --platform=ruby -- --with-pg-include="你的PostgreSQL安装路径\13\include" --with-pg-lib="你的PostgreSQL安装路径\13\lib"
    请将路径替换为你本地PostgreSQL的实际安装路径,默认安装路径为C:\Program Files\PostgreSQL\。
  • 第四步:回到Rails项目根目录,执行bundle install,确认安装的pg版本不是x64-mingw32后缀的预编译版本。
  • 第五步:修正database.yml的缩进错误,正确配置参考:
    development:
      <<: *default
      database: question_a
      encoding: unicode
      username: postgres
      host: localhost
      port: 5432
    

完成以上操作后再执行数据库创建、迁移命令即可。

内容的提问来源于stack exchange,提问作者Sonny Jim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 15:06:08