gem install redis报错的解决方案

在使用ruby脚本安装Redis集群时,需要先安装Ruby语言环境和redis插件,但是安装redis插件时遇到以下报错,下面记录一下解决过程。

因为执行Ruby脚本需要Ruby语言环境,所以首先安装Ruby语言环境和Ruby的包管理器Gems。

然后使用gem安装Redis和Ruby的接口。

RubyGems 是 Ruby 的一个包管理器,它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

RubyGems 旨在方便地管理 gem 安装的工具,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。

安装Ruby和Redis的接口时

报错

从Gem源安装gem包

gem install [gemname]

从本地安装gem包

gem install -l [gemname].gem

# gem install -l redis-4.1.0.gem
ERROR:  Loading command: install (LoadError)
 cannot load such file -- zlib
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

报错原因

缺少zlib库依赖

解决报错

1 首先安装zlib库

yum install zlib-devel

2 集成zlib库到Ruby环境

进入到相关目录
# cd ruby-2.3.8/ext/zlib
# ruby extconf.rb 
checking for deflateReset() in -lz... yes
checking for zlib.h... yes
checking for crc32_combine() in zlib.h... yes
checking for adler32_combine() in zlib.h... yes
checking for z_crc_t in zlib.h... yes
creating Makefile
# make
linking shared-object zlib.so
# make install
/bin/install -c -m 0755 zlib.so /usr/local/ruby/lib/ruby/site_ruby/2.3.0/x86_64-linux

重新安装成功

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对来客网的支持。如果你想了解更多相关内容请查看下面相关链接