1. 程式人生 > 資料庫 >gem install redis報錯的解決方案

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

重新安裝成功

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支援。如果你想了解更多相關內容請檢視下面相關連結