社区代码是基于 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