安装charlock_holmes_bundle_icu -v '0.6.9.2' gem包遇原生扩展构建失败求助
解决charlock_holmes_bundle_icu 0.6.9.2安装时的原生扩展编译错误
这个问题我碰到过好多次啦,charlock_holmes_bundle_icu这个gem需要依赖ICU(Unicode国际化组件)的开发库才能编译原生扩展,你系统里没装对应的依赖才会报错。下面分不同操作系统给你一步步解决:
macOS系统
- 先确保你装了Homebrew,如果没装的话可以先执行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"完成安装 - 安装ICU依赖包:
brew install icu4c - 执行下面的命令安装gem,让它能找到ICU的安装路径:
gem install charlock_holmes_bundle_icu -v '0.6.9.2' -- --with-icu-dir=$(brew --prefix icu4c)
Ubuntu/Debian系Linux
- 先更新软件源,然后安装ICU的开发库:
sudo apt-get update && sudo apt-get install libicu-dev - 直接重新执行gem安装命令就行:
gem install charlock_holmes_bundle_icu -v '0.6.9.2'
CentOS/RHEL系Linux
- 安装ICU的开发包:
sudo yum install libicu-devel - 之后再运行gem安装命令就可以正常编译了。
Windows系统
- Windows下得先确保你装了RubyInstaller配套的DevKit,用来处理原生扩展编译。如果没装,去RubyInstaller官网下载对应版本的DevKit,解压后执行
ruby dk.rb init和ruby dk.rb install完成初始化。 - 用Chocolatey安装ICU库(如果没装Chocolatey,先去官网完成安装):
choco install icu - 最后执行安装命令,指定ICU的安装路径(路径根据你实际安装位置调整,下面是默认路径示例):
gem install charlock_holmes_bundle_icu -v '0.6.9.2' -- --with-icu-dir=C:\tools\icu
额外排查小技巧
- 这个gem版本0.6.9.2比较老,建议检查你的Ruby版本是否兼容,Ruby 2.3到2.7版本应该都没问题,太新的Ruby(比如3.0+)可能会有兼容性问题。
- 确保你的系统已经装了基础编译工具:macOS要装Xcode Command Line Tools(执行
xcode-select --install),Linux要装build-essential(Ubuntu/Debian用sudo apt-get install build-essential,CentOS/RHEL用sudo yum install gcc gcc-c++ make)。
内容的提问来源于stack exchange,提问作者Ag18
相关产品推荐
相关产品推荐

