gem install redis没反应 问题解决过程

前言

卡了半天记录一下自己的解决过程,中间踩的坑没记录下来,可能有缺漏,仅供参考,希望能够有帮助,若有错误,也请大佬评论区指正。

今天作业练习虚拟机ruby脚本命令创建Redis Cluster集群,结果一直启动无效,进程显示无,遂发现是gem install redis这一步没反应,还以为它悄悄安装完了,结果是真没反应。

解决过程

换ruby版本

        本来用的ruby-2.5.0,老师推荐用2.6.0,于是下载后解压、编译、安装,再执行gem install redis,好家伙,有反应了,但报错:“/usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require': cannot load such file -- openssl (LoadError)

        提示表明当前的 Ruby 环境无法加载 openssl 库,而 openssl 对于 HTTPS 请求(比如使用 gem install 来安装 gem)是必要的。

        于是中间试了很多方法,发现用下面这个方法直接搞定:

        首先检查自己是否安装了openssl

openssl version

        如果显示出版本,说明已经按照,没有就没安装

sudo yum install openssl-devel

        结果是已经安装了,那就是Ruby 编译时没有找到OpenSSL,没链接上,于是我们先找到安装OpenSSL的位置,然后让Ruby配置文件配置好,重新编译ruby,就能连接上openssl(参考:编译的 Ruby 2.3.0 缺少 openssl 支持的解决方法 (已解决) · Ruby China (ruby-china.org)

        首先,找到找到安装OpenSSL的位置

find /usr -name "openssl"

        结果发现结果挺多的:

        /usr/bin/openssl
        /usr/lib64/python3.6/site-packages/cryptography/hazmat/backends/openssl
        /usr/lib64/python3.6/site-packages/cryptography/hazmat/bindings/openssl
        /usr/share/licenses/openssl
        /usr/share/doc/openssl
        /usr/share/bash-completion/completions/openssl
        /usr/include/openssl

这一步openssl的路径选择,笔者记忆有点模糊,但依照chat的解释,可以认为“/usr”是openssl安装目录

4d1dad5bd28c43d5a003ac9cfec0601f.png

于是进入ruby文件夹,配置文件、编译、安装...

cd ruby-2.6.0
./configure  --with-openssl-dir=/usr
make
make install  #需要以root身份运行

镜像源问题

        然后再gem install redis,我是开着梯子下载的,如果有小伙伴遇到网络不通,可能是外网不好下载,可以试试换镜像源,参考:gem install没有反应 解决办法 - 欢喜等大年 - 博客园 (cnblogs.com)

网络域名配置

        然后发现ERROR: Could not find a valid gem 'redis' (>= 0), here is why: Unable to download data from https://rubygems.org/ - no such name (https://rubygems.org/specs.4.8.gz),无法下载数据,检查一下是网络连接还是DNS域名无法识别的问题,我是ping外网发现ping www.baidu.com ping: www.baidu.com: Name or service not known,所以是域名解析的问题,打开/etc.resolv.conf文件

vim /etc/resolv.conf

        添加 DNS 服务器(在文件中添加以下内容,以使用 Google 的公共 DNS 服务器)

nameserver 8.8.8.8
nameserver 8.8.4.4

       保存退出, 在 vim 中,按 Esc,然后输入 :wq 来保存并退出,然后网络ping通,gem install redis自然ok,Redis Cluster集群也能启动啦!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shinone+const

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值