redis requires ruby version2.2.2的解决方案

今天在做Redis的Cluster集群的时候,在执行gem install redis时,提示如下错误:

gem install redis
    ERROR:  Error installing redis:
     redis requires Ruby version >= 2.2.2.

CentOS7 yum库中ruby的版本支持到 2.0.0,可gem 安装redis需要最低是2.2.2,采用rvm来更新ruby:

1、安装RVM(具体命令可以查看官网,Ruby官网地址Ruby官网安装教程):

//具体RVM安装命令地址:http://rvm.io/
  [root@linux ~]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB 

  [root@linux ~]# curl -sSL https://get.rvm.io | bash -s stable

  [root@linux ~]# find / -name rvm -print

     /usr/local/rvm
     /usr/local/rvm/src/rvm
     /usr/local/rvm/src/rvm/bin/rvm
     /usr/local/rvm/src/rvm/lib/rvm
     /usr/local/rvm/src/rvm/scripts/rvm
     /usr/local/rvm/bin/rvm
     /usr/local/rvm/lib/rvm
     /usr/local/rvm/scripts/rvm

 [root@linux ~]# source /usr/local/rvm/scripts/rvm

2、查看rvm库中已知的ruby版本:

   [root@linux ~]# rvm list known
    MRI Rubies
    [ruby-]1.8.6[-p420]
    [ruby-]1.8.7[-head] # security released on head
    [ruby-]1.9.1[-p431]
    [ruby-]1.9.2[-p330]
    [ruby-]1.9.3[-p551]
    [ruby-]2.0.0[-p648]
    [ruby-]2.1[.10]
    [ruby-]2.2[.7]
    [ruby-]2.3[.4]
    [ruby-]2.4[.1]
    ruby-head
    ….

3、安装一个ruby版本:

  [root@linux ~]# rvm install 2.4.1
    Searching for binary rubies, this might take some time.
    Found remote file https://rvm_io.global.ssl.fastly.net/binaries/centos/7/x86_64/ruby-2.4.1.tar.bz2
    Checking requirements for centos.
    Requirements installation successful.
    ruby-2.4.1 - #configure
    ruby-2.4.1 - #download
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 14.1M  100 14.1M    0     0    97k      0  0:02:27  0:02:27 --:--:--  159k
    No checksum for downloaded archive, recording checksum in user configuration.
    ruby-2.4.1 - #validate archive
    ruby-2.4.1 - #extract
    ruby-2.4.1 - #validate binary
    ruby-2.4.1 - #setup
    ruby-2.4.1 - #gemset created /usr/local/rvm/gems/ruby-2.4.1@global
    ruby-2.4.1 - #importing gemset /usr/local/rvm/gemsets/global.gems..............................
    ruby-2.4.1 - #generating global wrappers........
    ruby-2.4.1 - #gemset created /usr/local/rvm/gems/ruby-2.4.1
    ruby-2.4.1 - #importing gemsetfile /usr/local/rvm/gemsets/default.gems evaluated to empty gem list
    ruby-2.4.1 - #generating default wrappers........

4、使用一个ruby版本:

  [root@linux ~]# rvm use 2.4.1
       Using /usr/local/rvm/gems/ruby-2.4.1

5、设置默认版本:(设置ruby2.4.1为默认的ruby,因为还安装有1.8.3)

  [root@linux ~]# rvm use 2.4.1 --default
        Using /usr/local/rvm/gems/ruby-2.4.1

6、卸载一个已知版本:

 [root@linux ~]# rvm remove 2.3.4

7、查看ruby版本:

[root@linux ~]# ruby --version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

8、安装redis:

  [root@linux ~]# 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 redis after 3 seconds
    1 gem installed

问题解决,不错,过了年就解决了一个问题,还是值得庆祝的。

到此这篇关于redis requires ruby version2.2.2的解决方案的文章就介绍到这了,更多相关redis requires ruby version内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Win10下 Redis启动 错误1067导致进程意外终止的解决方法

    一.系统环境 操作系统:Windows10专业版 64位 Redis版本:redis-64.3.0.503 二.问题描述 1.命令行启动: redis-server redis.windows.conf 可以启动成功: 2.将Redis安装为Windows系统服务: redis-server --service-install redis.windows-service.conf --loglevel verbose 3.进入系统服务页面: Win + r打开运行命令框,services.msc

  • redis客户端连接错误 NOAUTH Authentication required

    redis客户端连接成功,但是操作报异常--(error) NOAUTH Authentication required 错误的含义是说你没有认证,说明没有使用密码连接 查看密码: 进入redis的安装目录(是安装目录的),查看redis.config文件 vi redis.config 打开配置文件后,输入/#requirepass foobared(快速定位的命令) 然后回车 红框里的就是密码 使用密码连接 ./redis-cli -h 127.0.0.1 -p 6379 -a Passw0

  • redis常用命令、常见错误、配置技巧等分享

    1. redis查看当前所有的key 复制代码 代码如下: KEYS * 2. 查看当前redis的配置信息 复制代码 代码如下: CONFIG GET * 3. MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis

  • redis 使用lettuce 启动内存泄漏错误的解决方案

    redis 使用 lettuce 出现 LEAK: hashedwheelTimer.release() was not called before it's garbage-collected. Enable advanced leak 内存泄漏.其实是内存不够大导致. 找到eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit 按钮,在编辑界面中的 "Default VM Arguments "选项

  • Redis连接错误的情况总结分析

    前言 最近由于流量增大,redis 出现了一连串错误,比如: LOADING Redis is loading the dataset in memory use of closed network connection connection pool exhausted connection refuse by peer 一个个来分析. LOADING Redis is loading the dataset in memory 这里至少有2种可能 可用内存太小,修改 redis.conf 中

  • Redis 出现错误1067的解决办法

    Redis 出现错误1067的解决办法 一.问题描述: 在Windows启动Redis服务时,发生如下错误: Windows无法启动Redis服务(位于本地计算机上). 错误1067:进程意外终止. 在Windows CMD命令行启动时提示: D:\soft\Redis>redis-server.exe redis.windows.conf [9560] 15 Jul 10:33:32.364 # Creating Server TCP listening socket 192.168.100.

  • redis requires ruby version2.2.2的解决方案

    今天在做Redis的Cluster集群的时候,在执行gem install redis时,提示如下错误: gem install redis     ERROR:  Error installing redis:      redis requires Ruby version >= 2.2.2. CentOS7 yum库中ruby的版本支持到 2.0.0,可gem 安装redis需要最低是2.2.2,采用rvm来更新ruby: 1.安装RVM(具体命令可以查看官网,Ruby官网地址和 Ruby

  • 浅谈Redis跟MySQL的双写问题解决方案

    目录 写在前面 三种读写缓存策略 Cache-AsidePattern(旁路缓存模式) Read-Through/Write-Through(读写穿透) WriteBehindPattern(异步缓存写入) 旁路缓存模式解析 CacheAsidePattern的一些疑问 CacheAsidePattern的缺陷 项目中有遇到这个问题,跟MySQL中的数据不一致,研究一番发现这里面细节并不简单,特此记录一下. 写在前面 严格意义上任何非原子操作都不可能保证一致性,除非用阻塞读写实现强一致性,所以缓

  • Redis 异常 read error on connection 的解决方案

    目录 一.造成原因与场景 二.出现原因 1)原因1 使用了已经断开的连接 2)原因2:执行超时 三.解决方案 1)如果是原因1 2)如果是原因2:修改超时时间 一.造成原因与场景 在接口连接 redis 时,使用了 pconnect 进行 redis 长连接,在 Redis->auth() 中抛出异常: PHP Fatal error: Uncaught exception 'RedisException' with message 'read error on connection' 注:由于

  • 详解Redis缓存穿透/击穿/雪崩原理及其解决方案

    目录 1.简介 2.缓存穿透 2.1描述 2.2解决方案 3.缓存击穿 3.1描述 3.2解决方案 4.缓存雪崩 4.1描述 4.1解决方案 5.布隆过滤器 5.1描述 5.2数据结构 5.3"一定不在集合中" 5.4"可能在集合中" 5.5"删除困难" 5.6为什么不使用HashMap呢? 1. 简介 如图所示,一个正常的请求 1.客户端请求张铁牛的博客. 2.服务首先会请求redis,查看请求的内容是否存在. 3.redis将请求结果返回给服

  • redis反序列化报错原因分析以及解决方案

    目录 redis反序列化报错原因分析 序列化id’不一致 实体类属性不一致 redis序列化转换类型报错 总结 redis反序列化报错原因分析 问题:Cannot deserialize,无法反序列化 分析: 序列化id’不一致 1.实体类实现了序列化接口后,没有指定序列化id. 2.读和写的class版本不一致,srpingboot jar包版本不一致的两个class文件,序列化id不一致.因为我们项目是几个系统对接,共享的一个redis库. 实体类属性不一致 可能存到redis的时候是两个属

  • Redis fork进程分配不到内存解决方案

    MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Redis Bgsave 命令用于在后台异步保存当前数据库的数据到磁盘. BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出. 语法 redis Bgsave 命令基本

  • Redis主从集群切换数据丢失的解决方案

    一.数据丢失的情况 异步复制同步丢失 集群产生脑裂数据丢失 1.异步复制丢失 对于Redis主节点与从节点之间的数据复制,是异步复制的,当客户端发送写请求给master节点的时候,客户端会返回OK,然后同步到各个slave节点中. 如果此时master还没来得及同步给slave节点时发生宕机,那么master内存中的数据会丢失: 要是master中开启持久化设置数据可不可以保证不丢失呢?答案是否定的.在master 发生宕机后,sentinel集群检测到master发生故障,重新选举新的mast

  • Java操作redis设置第二天凌晨过期的解决方案

    目录 Java操作redis设置第二天凌晨过期 场景 思路 代码 redis过期策略功能介绍 设置过期时间 内存淘汰 Java操作redis设置第二天凌晨过期 场景 在做查询数据的时候,遇到了需要设置数据在redis中第二天过期的问题,但是redis又没有对应的API,就只好自己来解决了 思路 计算出第二天凌晨与当前时间的时间差,将该时间差设置为redis的过期时间,就可以达到我们想要的效果 代码 /**      * 计算第二天凌晨与当前时间的时间差秒数      * @param      

  • Redis Hash序列化存储的问题及解决方案

    目录 SDR序列化方式有多种 对Redis的存储设置是我自己写的 更改序列化方法 更改序列化方式 继续使用JdkSerializationRedisSerializer 这里说的是Spring Data Redis(一下简称SDR)设置Hash存储的序列化. SDR序列化方式有多种 如: StringRedisSerializer JdkSerializationRedisSerializer Jackson2JsonRedisSerializer OxmSerializer 等等 目前我有个需

  • Redis的Cluster集群搭建的实现步骤

    目录 一.引言 二.Redis的Cluster模式介绍 1.Redis群集101 2.Redis群集TCP端口 3.Redis集群和Docker 4.Redis集群数据分片 5.Redis集群之主从模型 6.Redis集群一致性保证 7.Redis群集配置参数 三.创建和使用Redis群集 四.使用创建群集脚本创建Redis群集 五.测试故障转移 六.手动故障转移 七.总结 一.引言 本文档只对Redis的Cluster集群做简单的介绍,并没有对分布式系统的所涉及到的概念做深入的探讨.本文只是针

随机推荐