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

Ubuntu24.04升级后Rails应用找不到libhunspell-1.6.so.0的解决方法

解决Ubuntu 24.04升级后Ruby hunspell gem加载失败问题

问题背景

环境信息:

  • Ruby 2.6.6
  • Rails 6.1.7
  • Ubuntu 24.04

执行require 'hunspell'时触发LoadError:

libhunspell-1.6.so.0: cannot open shared object file: No such file or directory - /var/www/xxxxxxx.org/shared/vendor/bundle/ruby/2.6.0/gems/hunspell-1.1.0/lib/Hunspell.so

原因是从Ubuntu 20.04升级到24.04后,系统Hunspell版本已更新为1.7.2,但当前使用的hunspell 1.1.0 gem是旧系统下编译的,依赖的是libhunspell-1.6,而系统现在仅提供1.7版本的库文件。

解决方案

方法1:重新编译hunspell gem(推荐)

旧gem是基于Ubuntu 20.04的libhunspell-1.6编译的,重新编译可让它链接到当前系统的1.7版本库:

  1. 移除现有gem:
# 方式1:通过gem命令卸载
bundle exec gem uninstall hunspell

# 方式2:直接删除bundle中的gem目录
rm -rf vendor/bundle/ruby/2.6.0/gems/hunspell-1.1.0
  1. 安装系统hunspell开发依赖:
sudo apt-get install libhunspell-dev
  1. 重新安装gem:
bundle install

重新编译后,gem会自动链接系统当前的libhunspell-1.7,即可正常加载。

方法2:创建版本兼容符号链接(临时方案)

如果重新编译遇到障碍,可以通过创建符号链接让系统识别旧版库名:

sudo ln -s /usr/lib/x86_64-linux-gnu/libhunspell-1.7.so.0 /usr/lib/x86_64-linux-gnu/libhunspell-1.6.so.0

执行后再尝试加载hunspell gem即可。注意这是临时兼容手段,后续若有库更新可能出现兼容性问题。

方法3:验证gem的兼容性

查看hunspell gem的extconf.rb文件,它是通过pkg-config检测系统hunspell库的,理论上支持1.7版本,因此重新编译后即可正常工作,优先选择方法1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:42:06