gem install redis報錯解決辦法

2021-08-28 04:32:29 字數 3439 閱讀 3241

redis-cluster安裝需要通過gem install redis來安裝相關依賴。否則報錯。

通過gem install redis會報如下錯誤1:

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依賴,需要安裝zlib庫

還有乙個錯誤2就是

提示缺少openssl庫,這兩個庫可以通過yum安裝,但是安裝了需要整合到ruby中。

先解決錯誤一,解決辦法分為兩步:

一、安裝zlib庫,如果已經安裝,跳過,直接進入第二步。

yum install zlib-devel

二、整合zlib庫到ruby環境
cd /data/ruby-2.4.2

cd ext/zlib

ruby extconf.rb

//在操作下一步之前需要修改makefile檔案中的zlib.o: $(top_srcdir)/include/ruby.h,將$(top_srcdir)修改為../..如下

../../include/ruby.h

//這一步如果不修改,make時會爆出另外乙個錯誤

//make:*** no rule to make target `/include/ruby.h', needed by `zlib.o'.  stop

make && make install

另乙個缺少openssl庫的錯誤,可以用同樣的問題解決。

一、安裝openssl庫,如果已經安裝可以跳過,直接進入第二步。

yum install openssl-devel

不要只用yum install openssl來安裝,否則會缺少pcre等相關庫,執行ruby extconf.rb會提示找不到ssl.h檔案。

checking for

t_open

() in -lnsl... no

checking for

socket

() in -lsocket... no

checking for openssl/ssl.h... no

第二步、整合openssl庫到ruby
cd /data/ruby-2.4.2 

cd ext/openssl

ruby extconf.rb

//同樣修改makefile中的$(top_srcdir)為../..

make && make install

[root

@node01 openssl]# make && make install

compiling openssl_missing.c

compiling ossl.c

compiling ossl_asn1.c

compiling ossl_bio.c

compiling ossl_bn.c

compiling ossl_cipher.c

compiling ossl_config.c

compiling ossl_digest.c

compiling ossl_engine.c

compiling ossl_hmac.c

compiling ossl_ns_spki.c

compiling ossl_ocsp.c

compiling ossl_pkcs12.c

compiling ossl_pkcs5.c

compiling ossl_pkcs7.c

compiling ossl_pkey.c

compiling ossl_pkey_dh.c

compiling ossl_pkey_dsa.c

compiling ossl_pkey_ec.c

compiling ossl_pkey_rsa.c

compiling ossl_rand.c

compiling ossl_ssl.c

compiling ossl_ssl_session.c

compiling ossl_x509.c

compiling ossl_x509attr.c

compiling ossl_x509cert.c

compiling ossl_x509crl.c

compiling ossl_x509ext.c

compiling ossl_x509name.c

compiling ossl_x509req.c

compiling ossl_x509revoked.c

compiling ossl_x509store.c

linking shared-object openssl.so

/usr/bin/install -c -m

0755 openssl.so /usr/local/lib/ruby/site_ruby/

2.4.0/x86_64-linux

installing

default openssl libraries

成功之後,再次執行gem install redis,出現以下介面:

fetching: redis-

4.0.1.gem (

100%)

successfully installed redis-

4.0.1

parsing documentation

for redis-

4.0.1

installing ri documentation

for redis-

4.0.1

done installing documentation

for redisafter

1 seconds

1 gem installed

gem install redis安裝成功。

gem install redis報錯解決

在執行gem install redis時 gem install redis error error installing redis redis requires ruby version 2.2.2.查了查資料,centos7 yum庫中ruby的版本支援到 2.0.0,可gem 安裝redi...

解決gem install redis報錯

在使用ruby指令碼安裝redis集群時,需要先安裝ruby語言環境和redis外掛程式,但是安裝redis外掛程式時遇到以下報錯,下面記錄一下解決過程。因為執行ruby指令碼需要ruby語言環境,所以首先安裝ruby語言環境和ruby的包管理器gems。然後使用gem安裝redis和ruby的介面...

pycharm 安裝scrapy報錯解決辦法

如果你遇到的問題是 microsoft visual c 14.0 is required,那麼你來對地方了!出現這個錯誤可能並不是真的缺少c 庫,你可能缺少twisted包,這個包是scrapy的基礎。twisted 18.4.0 cp36 cp36m win32.whl我把它放在d twiste...