66054


普段、 homebrew で readline や openssl がダウンロードされている環境に対して、 rbenv や pyenv を用いています。

このような環境下では、 rbenv(-install) や pyenv(-install) は homebrew の readline/openssl
を用いてビルドを行っている様子です。

これは、 brew 上のライブラリアップデートに従い、それらライブラリを更新できるのが利点ですが、しかし、 実際に readline や openssl
をアップデートすると、これまでにインストールした ruby/python プログラムが、それぞれの共有ライブラリ(`.so`
ファイル)を読み込めずエラーを出力するようになります。

対処方法はわかっていて、 pyenv/rbenv 上で昔の ruby/python を uninstall
してから、再度インストールすれば問題ないのですが、 readline ないし openssl が更新されるたびに、これを行うのは、割と手間です。

### 質問

homebrew を用いている環境下において、 readline や openssl のアップデートの際に、それまでインストールしていた ruby や
python のバイナリを、再インストールせずに利用可能にする手法などはありませんでしょうか。


CC BY-SA 4.0
2019-04-14T02:12:45.243
54153
2020-04-28T05:29:12.483
754
question
ruby macos homebrew rbenv pyenv
homebrew で readline や openssl をアップグレードするたびに rbenv/pyenv の ruby や python が壊れるのをどうにかしたい


確認する環境がありませんが、以下のような記事を見つけたので最新の ruby-build を使えば rbenv に関しては OpenSSL
の依存を解消できるかもしれません。

[ruby-build が Homebrew の openssl
に依存しなくなった](https://blog.manabusakai.com/2020/01/no-longer-depends-on-homebrew-
openssl/)

> 改めて調べてみると ruby-build が Homebrew の openssl に依存しなくなり、インストールのたびに openssl
> をコンパイルしているからでした。  
>  (中略)  
>  これまで通り Homebrew の openssl を使うには RUBY_CONFIGURE_OPTS の環境変数にオプションを渡します。

ruby-build の Wiki には [macOS 向けの推奨設定](https://github.com/rbenv/ruby-
build/wiki#macos) として `RUBY_CONFIGURE_OPTS`
に値を設定する方法が書かれているので、既存の環境でこの値を指定している場合には無効にすればよいのかもしれません。


CC BY-SA 4.0
2020-04-28T05:29:12.483
66054
2020-04-28T05:29:12.483
3060
54153
answer