Ruby是一种高级的、解释型的编程语言,以其清晰的语法和易于理解的代码而闻名

env

  • centos8
  • ruby3.2

安装指导文档

1.1requirement compiler

yum install -y gcc gcc-c++ make autoconf  zlib-devel  openssl-devel libffi-devel readline-devel

1.2download

1.3libyaml

libyaml-devel

#解压
tar zxf yaml-0.1.7.tar.gz && cd yaml-0.1.7/

./configure -q
make -s -j4
make -s install -j4

/usr/local/bin
/usr/local/include
/usr/local/lib

#配置lib
LD_LIBRARY_PATH
/etc/ld.so.conf

tee > /etc/ld.so.conf.d/yaml.conf  <<EOF
/usr/local/lib
EOF

#更新共享库路径地址
ldconfig

查看缓存信息
ldconfig -p |grep local
ldconfig -v |grep local

[root@centos8-1 ~]# ll /usr/local/lib/pkgconfig/yaml-0.1.pc 
-rw-r--r--. 1 root root 202 Jul  1 01:30 /usr/local/lib/pkgconfig/yaml-0.1.pc

1.4compile

cd `mktemp  -d`
tar zxf ruby-3.2.5.tar.gz && cd ruby-3.2.5/

#编译
./configure -q --prefix=/usr/local/ruby

make -s -j4

...
linking ruby
Generating RDoc documentation
Parsing sources...
100% [1010/1010]  yjit.rb

Generating RI format into /tmp/tmp.58toPehKmS/ruby-3.2.5/.ext/rdoc...

  Files:       1010

  Classes:     1045 ( 284 undocumented)
  Modules:      215 (  67 undocumented)
  Constants:   2281 ( 630 undocumented)
  Attributes:  1041 ( 323 undocumented)
  Methods:     9852 (2316 undocumented)

  Total:      14434 (3620 undocumented)
   74.92% documented

  Elapsed: 30.2s
...

make install  -s -j4

make clean

查看编译成果

[root@centos8-1 ruby-3.3.4]# tree -L 2 /usr/local/ruby/
/usr/local/ruby/
├── bin
│   ├── bundle
│   ├── bundler
│   ├── erb
│   ├── gem
│   ├── irb
│   ├── racc
│   ├── rake
│   ├── rbs
│   ├── rdbg
│   ├── rdoc
│   ├── ri
│   ├── ruby
│   ├── syntax_suggest
│   └── typeprof
├── include
│   └── ruby-3.3.0
├── lib
│   ├── libruby-static.a
│   ├── pkgconfig
│   └── ruby
└── share
    ├── doc
    ├── man
    └── ri

1.5path && lib

配置lib
tee > /etc/ld.so.conf.d/ruby.conf  <<EOF
/usr/local/ruby/lib
EOF

ldconfig

配置bin
tee <<-'EOF' >>/etc/profile
#define ruby-env
export PATH=/usr/local/ruby/bin:$PATH
EOF

source /etc/profile

[root@centos8-1 ruby-3.2.5]# ruby -v && gem -v
ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [x86_64-linux]
3.4.19

1.6配置国内仓库

查看
gem sources -l

移除官方仓库
gem sources --remove https://rubygems.org/

新增国内仓库
gem sources -a https://mirrors.aliyun.com/rubygems/

1.7gem升级

如果需要则升级

m1:直接版本升级
gem update --system

m2:编译升级
wget https://rubygems.org/rubygems/rubygems-2.6.12.zip
cd rubygems-2.6.12
ruby setup.rb
gem -v
2.6.12

1.8测试安装

gem install fpm

[root@centos8-1 ~]# fpm --version
1.15.1