mirror of
https://github.com/rbenv/ruby-build.git
synced 2026-05-15 08:56:52 -04:00
42 lines
1,014 B
Bash
Executable file
42 lines
1,014 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e
|
|
[ -n "$RBENV_DEBUG" ] && set -x
|
|
|
|
# Provide rbenv completions
|
|
if [ "$1" = "--complete" ]; then
|
|
exec ruby-build --definitions
|
|
fi
|
|
|
|
if [ -z "$RBENV_ROOT" ]; then
|
|
RBENV_ROOT="${HOME}/.rbenv"
|
|
fi
|
|
|
|
DEFINITION="$1"
|
|
case "$DEFINITION" in
|
|
"" | -* )
|
|
{ echo "usage: rbenv install VERSION"
|
|
echo " rbenv install /path/to/definition"
|
|
echo
|
|
echo "Available versions:"
|
|
ruby-build --definitions | sed 's/^/ /'
|
|
echo
|
|
} >&2
|
|
exit 1
|
|
;;
|
|
"-k" | "--keep" )
|
|
[ -z "${RBENV_BUILD_ROOT}" ] && RBENV_BUILD_ROOT="${RBENV_ROOT}/sources"
|
|
RUBY_BUILD_OPTIONS="${RUBY_BUILD_OPTIONS} -k"
|
|
;;
|
|
esac
|
|
|
|
VERSION_NAME="${DEFINITION##*/}"
|
|
PREFIX="${RBENV_ROOT}/versions/${VERSION_NAME}"
|
|
|
|
# If RBENV_BUILD_ROOT is set, then always pass keep options to ruby-build
|
|
if [ -n "${RBENV_BUILD_ROOT}" ]; then
|
|
export RUBY_BUILD_BUILD_PATH="${RBENV_BUILD_ROOT}/${VERSION_NAME}"
|
|
RUBY_BUILD_OPTIONS="${RUBY_BUILD_OPTIONS} -k"
|
|
fi
|
|
|
|
ruby-build "$DEFINITION" "$PREFIX" "$RUBY_BUILD_OPTIONS"
|
|
rbenv rehash
|