最近のrbenvの問題点
$ rbenv -v
rbenv 1.1.2-34-g0843745
8月2日〜10日間に更新がなければ、全てこのバージョンと思われる
古いMacOSXでいろいろと試行錯誤中におきたこと。
1.openssl や curl の問題かは不明だが、rbenvが行うruby 2.5.8のダウンロードに失敗する。
2.ダウンロード失敗にエラー表示が不足している。この為、1の時に原因がopensslかcurlかcert.pemがユーザーには全く不明。
ダウンロード出来れば何でもいいという話になる。しかし
3.iterm2上からコマンドで、curl -KO または-LOで
https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.8.tar.gz
のダウンロードには成功する。訳が分からないよ。
以下はMacOSX El Capitan 10.11でおきたこと。
4.openssl 1.1.1gがインストール済みでパスが通っていても.rbenv下に別途インストールする。
5.rbenv install 2.5.8でダウンロード成功する。
この時、
ruby 2.0.0と
$ ruby -ropenssl -e "p OpenSSL::X509::DEFAULT_CERT_FILE"
"/System/Library/OpenSSL/cert.pem"
のままで
/usr/local/bin/opensslの1.1.1g
/usr/local/bin/curlの7.71.1
の組み合わせで成功するのはどういうことなのか?
curlで通信していると思われるがwget?
古いcurlが使われている?
$ /usr/bin/curl --version
curl 7.30.0 (x86_64-apple-darwin13.0) libcurl/7.30.0 SecureTransport zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IPv6 Largefile NTLM NTLM_WB SSL libz
6,これはユーザー側の問題だが、
export PATH="$HOME/.rbenv/bin:$PATH"
が公式だと不要?ネットの解説だと必要と書かれている事例が多く、不要なガイドもある。
最新版(rbenv 1.1.2)はbash_profine(zshenv)に追加しないと動かない。
以下のコマンドを行う。
$ echo "$(rbenv init -)"
export PATH="/Users/xxxxxxx/.rbenv/shims:${PATH}"
pbenvもパス追加をしている。これもrbenvのプログラム側で行われるべきでは?
参考1.重要かもしれない(2015年の記事)
rbenv + ruby-build はどうやって動いているのか - takatoshiono's blog
homebrew と rbenvで大きくディレクトリが異なる。
本来はprefix指定やインストール後のリンクを張ることで複数ディレクトリでも問題がないはずだがhomebrew と rbenv共に色々とオカシイのでは?
結論
上記問題が解決しない限りrbenvを使わずに、当分はrubyソースビルドしてパス切り替えがベストと考える