gem安装redis库时报错

博客主要记录了Ruby安装过程中的报错及解决办法。报错一是zlib相关问题,需用yum安装zlib - devel,并安装ruby自身提供的zlib包;报错二是openssl相关问题,要安装openssl,再安装ruby自身提供的openssl包,还给出了make报错的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错一:

[root@Redis-1 software]# /usr/local/ruby/bin/gem install redis-3.2.2.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

【解决】

  1. yum -y install zlib-devel
  2. 进入ruby源码文件夹,安装ruby自身提供的zlib包:

     cd ruby-2.4.4/ext/zlib/
     /usr/local/ruby/bin/ruby extconf.rb 
     make
     make install

    2.1 报错:

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

    打开:ext/zlib/Makefile文件,找到#zlib.o: $(top_srcdir)/include/ruby.h换成zlib.o: ../../include/ruby.h

    #zlib.o: $(top_srcdir)/include/ruby.h
    zlib.o: ../../include/ruby.h

报错二:

[root@Redis-1 software]# /usr/local/ruby/bin/gem install redis-4.1.0.gem 
ERROR: While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

【解决】

  1. 安装openssl:yum(本环境使用)或者源码
  2. 进入ruby源码文件夹,安装ruby自身提供的openssl包:

    cd ruby-2.4.4/ext/openssl
    # 找到各个组件的路径
    /usr/local/ruby/bin/ruby extconf.rb --with-openssl-include=/usr/include/openssl/ --with-openssl-lib=/usr/lib64/openssl/
    make 
    make install

    2.1. make报错:

    make: *** No rule to make target `/thread_native.h', needed by `ossl.o'. Stop.

    打开Makefile文件:增加top_srcdir = /opt/software/ruby-2.4.4路径

    topdir = /usr/local/ruby/include/ruby-2.4.0
    top_srcdir = /opt/software/ruby-2.4.4
    hdrdir = $(topdir)
    arch_hdrdir = /usr/local/ruby/include/ruby-2.4.0/x86_64-linux

转载于:https://www.cnblogs.com/dianel/p/10558161.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值