zzl001 发表于 2017-12-21 23:26:35

执行redis-trib.rb时遇到的问题

  

redis-trib.rb create --replicas 1127.0.0.1:7379 127.0.0.1:7380 127.0.0.1:7381 127.0.0.1:7382 127.0.0.1:7383 127.0.0.1:7384  /usr/bin/env: ruby: 没有那个文件或目录
  

  看来是ruby没有安装,于是执行:
  

yum install -y ruby    //安装ruby  

  

  后面继续报错:
  

  

redis-trib.rb create --replicas 1127.0.0.1:7379 127.0.0.1:7380 127.0.0.1:7381 127.0.0.1:7382 127.0.0.1:7383 127.0.0.1:7384  
redis
-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)         from src/redis-trib.rb:24  

  ruby安装成功,但是rubygem没有安装,所以导致了上述错误,于是继续:
  

yum install -y rubygems      //安装rubygem   

  gem install redis       //安装redis的接口包
  gem list            //查看接口包是否安装成功
  

  再看:
  

  

redis-trib.rb create --replicas 1127.0.0.1:7379 127.0.0.1:7380 127.0.0.1:7381 127.0.0.1:7382 127.0.0.1:7383 127.0.0.1:7384  /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)      
  
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'         from src/redis-trib.rb:25
  

  rubygem安装成功,但是新的错误又出现了。google了一下,发现是ruby版本太低了。yum安装的版本是1.8.7,但是redis需要的是1.9.3或者更高,于是升级ruby版本到1.9.3.
  

curl -L get.rvm.io | bash -s stable source /etc/profile.d/rvm.sh      //安装rvm  
rvm install
1.9.3            //安装ruby1.9.3  
rvm use
1.9.3 --default            //设置ruby1.9.3为默认的ruby,因为还安装有1.8.3   

  

  再看:
  

  

gem install redis ERROR:Could not find a valid gem 'redis' (>= 0), here is why:  
Unable to download data
from https://rubygems.org/ - Errno::ETIMEDOUT: Connection timed out - connect(2)
  (https://api.rubygems.org/latest_specs.4.8.gz) ERROR:Possible>  

  

  又遇到新的错误了,看来是连接gem源出错了,于是增加新的gem源:
  

  

gem sources -a http://ruby.taobao.org/      //添加淘宝的gem源  

  然后”gem install redis“执行成功,之后的”redis-trib.rb create ......“也ok了。
  BTW:其实ruby1.8.7也支持redis-trib.rb,也就是说在ruby1.8.7上执行”redis-trib.rb create ......“时出现的错误是由于没有安装针对redis的gem包,所以只要成功执行”gem install redis"即可。不过不建议使用ruby1.8.7,因为这个版本有点老了,使用rvm安装ruby1.8.7时,提示对此版本已经不提供支持了。
  ------------------------我是华丽的分隔线----------------------------
  其实redis集群跑不起来这个原因还是ruby没安装好,可以直接尝试重装ruby.
  以下有个linux下安装ruby的步骤:
  http://www.runoob.com/ruby/ruby-installation-unix.html
页: [1]
查看完整版本: 执行redis-trib.rb时遇到的问题