I usually use rbenv and pyenv for the environment where readline and openssl are downloaded by homebrew.
Under such circumstances, rbenv (-install) and pyenv (-install) seem to be building using readline / openssl of homebrew.
This has the advantage that you can update those libraries according to the library update on brew, but when you actually update readline or openssl, the ruby / python programs you have installed so far will have their own shared libraries (
.so ). The file) cannot be read and an error will be output.
I know what to do, uninstall the old ruby / python on pyenv / rbenv and then install it again, but it's okay to do this every time readline or openssl is updated. It is troublesome.
Is there a way to make the ruby and python binaries that were previously installed available without reinstalling when updating readline or openssl in an environment using homebrew?
I don't have an environment to check, but I found an article like the following, so if you use the latest ruby-build, you may be able to eliminate the OpenSSL dependency on rbenv.
I looked it up again and found that ruby-build no longer depends on Homebrew's openssl and compiles openssl on every install.
To use Homebrew's openssl as before, pass an option to the RUBY_CONFIGURE_OPTS environment variable.
The ruby-build Wiki describes how to set a value for
RUBY_CONFIGURE_OPTS as a recommended setting for macOS, so if you have specified this value in your existing environment, you may want to disable it. Hmm.