解决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

重新安装成功

posted @ 2019-01-11 21:25  DBA社区  阅读(391)  评论(0编辑  收藏  举报