Linux 在 ubuntu 2204 上安装 rubies 2.6.x, 2.7.x and 3.0.x 最好的方法

恒温 · 2023年10月23日 · 最后由 国文 回复于 2023年10月24日 · 2917 次阅读

社区代码是基于 ruby2.7 的,上周双休日花了点时间写代码,发现花在环境配置上的时间占了大头,而且随着多年不在一线,动手能力急剧下降,真是做一步,搜索一步。

然后安装 ruby 的时候遇到了两个坑,一个是因为 ubuntu2204 已经用了 openssl3.0.2,而 ruby 在 3.2 之前都是用的 open1 的版本。另外一个就是即便你用 rvm pkg install openssl,也会遇到 gem ssl 的问题。类似 “Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://s3.amazonaws.com/production.s3.r
ubygems.org/gems/minitest-5.2.1.gem)”,非常闹心。于是网上搜了很久,发现了解决方案,亲试有用,分享给大家。原帖(https://github.com/rvm/rvm/issues/5209


$ sudo apt install build-essential
$ cd ~/Downloads
$ wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
$ tar zxvf openssl-1.1.1g.tar.gz
$ cd openssl-1.1.1g
$ ./config --prefix=$HOME/.openssl/openssl-1.1.1g --openssldir=$HOME/.openssl/openssl-1.1.1g
$ make
$ make test # you might get a few tests failing but just ignore
$ make install
$ rm -rf ~/.openssl/openssl-1.1.1g/certs
$ ln -s /etc/ssl/certs ~/.openssl/openssl-1.1.1g/certs
$ cd ~
# let us install older rubies now by using RVM. Hurray!
$ rvm install ruby-3.0.4 --with-openssl-dir=$HOME/.openssl/openssl-1.1.1g 
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

表示被 openssl 这玩意儿的版本坑过好几次,记得有两次是编译 python 源码,两次是装 ruby 环境

王稀饭 回复

的确不太友好,而且里面很多潜规则。

最近项目升级 java17 和 spring3,我看也要折腾蛮久

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册