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

Windows 10下Rails 6切换Postgres后创建数据库报pg_ext加载错误求助

Windows环境Rails 6 pg_ext加载报错解决方案

报错本质为pg gem的原生扩展组件未适配当前Ruby 3.0环境,或未完成正确编译,按以下步骤操作即可解决:

  • 第一步 卸载现有所有版本pg gem
    执行命令:
    gem uninstall pg -a
    
  • 第二步 配置PostgreSQL环境变量
    确认本地已安装Windows版PostgreSQL,将PostgreSQL安装路径下的bin目录(示例路径:C:\Program Files\PostgreSQL\14\bin,替换为你本地实际版本对应的路径)添加到系统环境变量PATH中,重启终端后执行psql --version,正常输出版本号即为配置成功。
    注意:PostgreSQL的位宽需要和你安装的Ruby位宽保持一致,同为32位或同为64位。
  • 第三步 编译安装pg gem
    执行命令,注意替换为你本地的pg_config实际路径,路径包含空格需要加引号:
    gem install pg -- --with-pg-config="C:\Program Files\PostgreSQL\你的版本号\bin\pg_config.exe"
    
    如果使用Bundler管理项目依赖,执行以下命令配置bundler的pg编译参数后再安装依赖:
    bundle config build.pg --with-pg-config="C:\Program Files\PostgreSQL\你的版本号\bin\pg_config.exe"
    bundle install
    
  • 第四步 验证修复效果
    执行rails c进入控制台,输入require 'pg',返回true即为加载成功,后续可正常执行rails db:create等数据库操作。
  • 异常排查备选方案
    若上述步骤执行失败,确认你使用RubyInstaller安装的Ruby已配套安装对应版本Devkit,执行ridk install完成所有组件安装后,重新执行pg gem安装步骤即可。
    另外你的项目存放在OneDrive同步目录下,若操作后仍报错,可将项目临时移动到本地非同步目录测试,排除OneDrive文件锁导致的扩展加载异常问题。

内容的提问来源于stack exchange,提问作者JP Ferreira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:30:00