ruby安装指南

ruby安装指南

最近搞redis监控,像redis-stat或者redis-browser。

均有通过ruby方式安装的方法。

而ruby的安装有两种方式:

1.通过yum安装

2.通过编译安装

通过yum安装

yum install ruby    
yum install rubygems

CentOS Linux 7安装后:

[root@node1 ~]# ruby -v
ruby 2.0.0p648 (2015-12-16) [x86_64-linux]
[root@node1 ~]# gem -v
2.0.14.1

 通过yum安装的ruby没有bundle命令。

通过编译安装

安装包下载地址:

https://www.ruby-lang.org/zh_cn/downloads/
https://www.ruby-lang.org/en/downloads/

配置环境变量

vi ~/.bash_profile
    PATH=$PATH:$HOME/bin:/opt/redis/bin:/usr/local/ruby/bin

安装依赖包

yum -y install zlib zlib-devel

  

解压并编译安装

tar -zxvf ruby-3.0.2.tar.gz
cd /soft/ruby-3.0.2
./configure --prefix=/usr/local/ruby
make make install echo $?

##--prefix是将ruby安装到指定目录,也可以自定义

echo $?输出0代表正常。

ruby的扩展库zlib安装。

cd /soft/ruby-3.0.2/ext/zlib
ruby ./extconf.rb
make
make install

若是缺少zlib,在make步骤会报错:

[root@node2 zlib]# ruby ./extconf.rb
checking for deflateReset() in -lz... no
checking for deflateReset() in -llibz... no
checking for deflateReset() in -lzlib1... no
checking for deflateReset() in -lzlib... no
checking for deflateReset() in -lzdll... no
checking for deflateReset() in -lzlibwapi... no
creating Makefile

  

我的环境CentOS Linux 7安装ruby-3.0.2.tar.gz在如下步骤有openssh的问题。

ruby的扩展库openssl安装。

cd /soft/ruby-3.0.2/ext/openssl/
ruby ./extconf.rb 
make
make install
View Code
[root@redis zlib]# cd /soft/ruby-3.0.2/ext/openssl/
[root@redis openssl]# ruby ./extconf.rb 
checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for openssl/ssl.h... no
./extconf.rb:99:in `<main>': OpenSSL library could not be found. You might want to use --with-openssl-dir=<dir> option to specify the prefix where OpenSSL is installed. (RuntimeError)

升级openssl和openssh重新执行步骤即可。

安装成功后:

[root@node2 ~]# ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
[root@node2 ~]# gem -v
3.2.22

卸载

yum remove ruby    
yum remove rubygems

或者(通过编译的方式)

for i in `gem list --no-versions`; do gem uninstall -aIx $i; done  ##不确定是否需要做
[root@node2 ~]# cd /soft/ruby-3.0.2 make uninstall
原文地址:https://www.cnblogs.com/PiscesCanon/p/15080381.html