在RHEL8中安装Ruby on Rails 7+应用时遭遇libvips库错误
在RHEL8/CentOS上部署Rails 7+并启用libvips的可行方案
一、添加可用软件源
RHEL8默认官方源不含libvips,需通过第三方源获取:
- 启用EPEL仓库:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm - 若EPEL提供的libvips版本偏低,可添加libvips官方维护的COPR仓库:
sudo dnf copr enable @libvips/libvips
二、安装libvips及依赖
安装核心库和开发文件(确保Ruby的vips gem能正常编译):
sudo dnf install libvips libvips-devel
若需支持更多图片格式(JPEG/PNG/WebP等),补充安装工具包:
sudo dnf install libvips-tools libvips-jpeg libvips-png libvips-webp
三、修复Ruby的vips gem依赖
- 先卸载已安装的vips gem(避免缓存问题):
gem uninstall vips - 回到Rails项目目录,重新安装依赖:
bundle install
四、验证安装有效性
- 确认系统级libvips正常:
vips --version - 在Rails控制台验证gem调用:
若未抛出错误,说明libvips已成功集成。rails c # 执行以下命令(替换为本地测试图片路径) Vips::Image.new_from_file('/path/to/test.jpg')
备选方案:源码编译安装
若上述源仍无法满足需求,可手动编译最新版libvips:
- 安装编译依赖:
sudo dnf install gcc gcc-c++ make pkg-config glib2-devel libjpeg-turbo-devel libpng-devel libwebp-devel libtiff-devel giflib-devel libexif-devel librsvg2-devel libxml2-devel - 下载并编译源码(以最新稳定版为例):
wget https://github.com/libvips/libvips/releases/download/v8.15.1/vips-8.15.1.tar.gz tar xzf vips-8.15.1.tar.gz cd vips-8.15.1 ./configure --prefix=/usr make sudo make install sudo ldconfig - 重复第三步的gem重装步骤即可。
内容的提问来源于stack exchange,提问作者Jesse
相关产品推荐
相关产品推荐

