gem install redis报错解决办法


redis-cluster安装需要通过gem install redis来安装相关依赖。否则报错。

通过gem install redis会报如下错误1:

[java]  view plain  copy
  1. ERROR:  Loading command: install (LoadError)  
  2.     cannot load such file -- zlib  
  3. ERROR:  While executing gem ... (NoMethodError)  
  4. undefined method `invoke_with_build_args' for nil:NilClass  
这是缺少zlib依赖,需要安装zlib库

还有一个错误2就是

[java]  view plain  copy
  1. ERROR:  While executing gem ... (Gem::Exception)  
  2. Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources  
提示缺少openssl库,这两个库可以通过yum安装,但是安装了需要集成到ruby中。

先解决错误一,解决办法分为两步:

一、安装zlib库,如果已经安装,跳过,直接进入第二步。

[java]  view plain  copy
  1. yum install zlib-devel  
二、集成zlib库到ruby环境

另一个缺少openssl库的错误,可以用同样的问题解决。

一、安装openssl库,如果已经安装可以跳过,直接进入第二步。

[java]  view plain  copy
  1. yum install openssl-devel  
不要只用yum install openssl来安装,否则会缺少pcre等相关库,执行ruby extconf.rb会提示找不到ssl.h文件。
[java]  view plain  copy
  1. checking for t_open() in -lnsl... no  
  2. checking for socket() in -lsocket... no  
  3. checking for openssl/ssl.h... no  
第二步、集成openssl库到ruby

[java]  view plain  copy
  1. [root@node01 openssl]# make && make install  
  2. compiling openssl_missing.c  
  3. compiling ossl.c  
  4. compiling ossl_asn1.c  
  5. compiling ossl_bio.c  
  6. compiling ossl_bn.c  
  7. compiling ossl_cipher.c  
  8. compiling ossl_config.c  
  9. compiling ossl_digest.c  
  10. compiling ossl_engine.c  
  11. compiling ossl_hmac.c  
  12. compiling ossl_ns_spki.c  
  13. compiling ossl_ocsp.c  
  14. compiling ossl_pkcs12.c  
  15. compiling ossl_pkcs5.c  
  16. compiling ossl_pkcs7.c  
  17. compiling ossl_pkey.c  
  18. compiling ossl_pkey_dh.c  
  19. compiling ossl_pkey_dsa.c  
  20. compiling ossl_pkey_ec.c  
  21. compiling ossl_pkey_rsa.c  
  22. compiling ossl_rand.c  
  23. compiling ossl_ssl.c  
  24. compiling ossl_ssl_session.c  
  25. compiling ossl_x509.c  
  26. compiling ossl_x509attr.c  
  27. compiling ossl_x509cert.c  
  28. compiling ossl_x509crl.c  
  29. compiling ossl_x509ext.c  
  30. compiling ossl_x509name.c  
  31. compiling ossl_x509req.c  
  32. compiling ossl_x509revoked.c  
  33. compiling ossl_x509store.c  
  34. linking shared-object openssl.so  
  35. /usr/bin/install -c -m 0755 openssl.so /usr/local/lib/ruby/site_ruby/2.4.0/x86_64-linux  
  36. installing default openssl libraries  
成功之后,再次运行gem install redis,出现以下界面:
[java]  view plain  copy
  1. Fetching: redis-4.0.1.gem (100%)  
  2. Successfully installed redis-4.0.1  
  3. Parsing documentation for redis-4.0.1  
  4. Installing ri documentation for redis-4.0.1  
  5. Done installing documentation for redisafter 1 seconds  
  6. 1 gem installed  
gem install redis安装成功。

你可能感兴趣的:(gem install redis报错解决办法)