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

升级PostgreSQL至14.5后Rails项目启动报错求助

解决PostgreSQL升级后Rails启动时charlock_holmes依赖icu4c库缺失的问题

问题根源

升级PostgreSQL 14到14.5时,Homebrew自动升级了依赖的icu4c库(从70.x版本更新到71.1),但项目中使用的charlock_holmes gem是基于旧版icu4c编译的,导致启动Rails时找不到对应的libicudata.70.dylib库,触发LoadError。

解决方案

方法1:重新编译charlock_holmes gem

这是最直接的修复方式,让gem适配当前系统的icu4c版本:

  1. 卸载旧版本gem:
    gem uninstall charlock_holmes
    
  2. 针对bundle管理的项目,使用pristine命令重新编译:
    bundle pristine charlock_holmes
    
    或者手动指定icu4c路径重新安装:
    gem install charlock_holmes -- --with-icu-dir=$(brew --prefix icu4c)
    

方法2:重新编译所有带原生扩展的gem

如果还有其他gem出现类似依赖问题,可一次性重新编译所有bundle管理的原生gem:

bundle pristine

方法3:临时回退icu4c版本(不推荐)

如果暂时无法重新编译gem,可安装旧版本icu4c并强制链接:

brew install icu4c@70
brew link icu4c@70 --force

⚠️ 注意:此方法可能导致其他依赖新版icu4c的软件出现问题,仅作为临时应急方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:15:41