1
0
mirror of https://github.com/pyenv/pyenv.git synced 2025-11-13 22:03:52 -05:00

Support GEM_HOME, add limited support for user-installed gems (#1436)

The rehash process will now discover executables in additional locations:
- `~/.gem/ruby/<version>/bin/*`
- `$GEM_HOME/bin`

The `rbenv which` (and thus `rbenv exec`) command will also search these locations when looking up a command. This enables shims to dispatch calls to executables added by `gem install --user-install`.

Note that this support is limited:
- It will only work with C Ruby, as it's difficult to guess the `~/.gem/<engine>/<version>` directory for other Rubies without actually loading Ruby;
- It will only work for RBENV_VERSION values in the format `X.Y.Z` and not "system".
This commit is contained in:
Mislav Marohnić
2022-09-26 02:57:15 +02:00
committed by GitHub
parent 009ef3a2db
commit 959968c46d
5 changed files with 86 additions and 5 deletions

View File

@@ -104,6 +104,15 @@ list_executable_names() {
echo "${file##*/}"
done
done
# list user-install'ed executables
for file in ~/.gem/ruby/*/bin/*; do
echo "${file##*/}"
done
if [ -n "$GEM_HOME" ]; then
for file in "$GEM_HOME"/bin/*; do
echo "${file##*/}"
done
fi
}
# The basename of each argument passed to `make_shims` will be