Support install locations other than $HOME/.rbenv.

Define RBENV_HOME env variable in libexec/rbenv and let all script delegates use this variable to determine rbenv's install location.
This commit is contained in:
Alexander Rinass 2011-08-25 09:24:44 +02:00
parent aade3ad781
commit 5130f0464a
9 changed files with 17 additions and 14 deletions

View file

@ -19,6 +19,9 @@ abs_dirname() {
cd "$cwd" cd "$cwd"
} }
rbenv_install_location=$(abs_dirname "$(dirname $0)")
export RBENV_HOME="${rbenv_install_location}"
libexec_path="$(abs_dirname "$0")" libexec_path="$(abs_dirname "$0")"
export PATH="${libexec_path}:${PATH}" export PATH="${libexec_path}:${PATH}"

View file

@ -2,12 +2,12 @@
set -e set -e
RBENV_VERSION="$1" RBENV_VERSION="$1"
RBENV_VERSION_FILE="${HOME}/.rbenv/global" RBENV_VERSION_FILE="${RBENV_HOME}/global"
if [ -n "$RBENV_VERSION" ]; then if [ -n "$RBENV_VERSION" ]; then
rbenv-version-file-write "$RBENV_VERSION_FILE" "$RBENV_VERSION" rbenv-version-file-write "$RBENV_VERSION_FILE" "$RBENV_VERSION"
else else
rbenv-version-file-read "$RBENV_VERSION_FILE" || rbenv-version-file-read "$RBENV_VERSION_FILE" ||
rbenv-version-file-read "${HOME}/.rbenv/default" || rbenv-version-file-read "${RBENV_HOME}/default" ||
echo system echo system
fi fi

View file

@ -55,9 +55,9 @@ if [ -z "$print" ]; then
exit 1 exit 1
fi fi
mkdir -p "${HOME}/.rbenv/"{shims,versions} mkdir -p "${RBENV_HOME}/"{shims,versions}
echo 'export PATH="${HOME}/.rbenv/shims:${PATH}"' echo 'export PATH="'${RBENV_HOME}'/shims:${PATH}"'
case "$shell" in case "$shell" in
bash | zsh ) bash | zsh )

View file

@ -13,7 +13,7 @@ if [ "$RBENV_VERSION" = "system" ]; then
exit exit
fi fi
RBENV_PREFIX_PATH="${HOME}/.rbenv/versions/${RBENV_VERSION}" RBENV_PREFIX_PATH="${RBENV_HOME}/versions/${RBENV_VERSION}"
if [ ! -d "$RBENV_PREFIX_PATH" ]; then if [ ! -d "$RBENV_PREFIX_PATH" ]; then
echo "rbenv: version \`${RBENV_VERSION}' not installed" >&2 echo "rbenv: version \`${RBENV_VERSION}' not installed" >&2
exit 1 exit 1

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
SHIM_PATH="${HOME}/.rbenv/shims" SHIM_PATH="${RBENV_HOME}/shims"
PROTOTYPE_SHIM_PATH="${SHIM_PATH}/.rbenv-shim" PROTOTYPE_SHIM_PATH="${SHIM_PATH}/.rbenv-shim"
# Create the shims directory if it doesn't already exist. # Create the shims directory if it doesn't already exist.
@ -63,7 +63,7 @@ shopt -s nullglob
make_shims ../versions/*/bin/* make_shims ../versions/*/bin/*
# Find and run any plugins that might want to make shims too. # Find and run any plugins that might want to make shims too.
RBENV_REHASH_PLUGINS=(/etc/rbenv.d/rehash/*.bash ${HOME}/.rbenv/rbenv.d/rehash/*.bash) RBENV_REHASH_PLUGINS=(/etc/rbenv.d/rehash/*.bash ${RBENV_HOME}/rbenv.d/rehash/*.bash)
shopt -u nullglob shopt -u nullglob
for script in ${RBENV_REHASH_PLUGINS[@]}; do for script in ${RBENV_REHASH_PLUGINS[@]}; do

View file

@ -10,8 +10,8 @@ while [ -n "$root" ]; do
root="${root%/*}" root="${root%/*}"
done done
GLOBAL_PATH="${HOME}/.rbenv/global" GLOBAL_PATH="${RBENV_HOME}/global"
DEFAULT_PATH="${HOME}/.rbenv/default" DEFAULT_PATH="${RBENV_HOME}/default"
if [ -e "$GLOBAL_PATH" ]; then if [ -e "$GLOBAL_PATH" ]; then
echo "$GLOBAL_PATH" echo "$GLOBAL_PATH"

View file

@ -11,7 +11,7 @@ if [ "$RBENV_VERSION" = "system" ]; then
exit exit
fi fi
RBENV_VERSION_PATH="${HOME}/.rbenv/versions/${RBENV_VERSION}" RBENV_VERSION_PATH="${RBENV_HOME}/versions/${RBENV_VERSION}"
if [ -d "$RBENV_VERSION_PATH" ]; then if [ -d "$RBENV_VERSION_PATH" ]; then
echo "$RBENV_VERSION" echo "$RBENV_VERSION"

View file

@ -13,7 +13,7 @@ else
print_version="$(rbenv-version)" print_version="$(rbenv-version)"
fi fi
for path in "${HOME}/.rbenv/versions/"*; do for path in "${RBENV_HOME}/versions/"*; do
if [ -d "$path" ]; then if [ -d "$path" ]; then
version="${path##*/}" version="${path##*/}"

View file

@ -30,14 +30,14 @@ RBENV_VERSION="$(rbenv-version-name)"
RBENV_COMMAND="$1" RBENV_COMMAND="$1"
if [ "$RBENV_VERSION" = "system" ]; then if [ "$RBENV_VERSION" = "system" ]; then
PATH="$(remove_from_path "${HOME}/.rbenv/shims")" PATH="$(remove_from_path "${RBENV_HOME}/shims")"
RBENV_COMMAND_PATH="$(command -v "$RBENV_COMMAND")" RBENV_COMMAND_PATH="$(command -v "$RBENV_COMMAND")"
else else
RBENV_COMMAND_PATH="${HOME}/.rbenv/versions/${RBENV_VERSION}/bin/${RBENV_COMMAND}" RBENV_COMMAND_PATH="${RBENV_HOME}/versions/${RBENV_VERSION}/bin/${RBENV_COMMAND}"
fi fi
shopt -s nullglob shopt -s nullglob
RBENV_WHICH_PLUGINS=(/etc/rbenv.d/which/*.bash ${HOME}/.rbenv/rbenv.d/which/*.bash) RBENV_WHICH_PLUGINS=(/etc/rbenv.d/which/*.bash ${RBENV_HOME}/rbenv.d/which/*.bash)
shopt -u nullglob shopt -u nullglob
for script in ${RBENV_WHICH_PLUGINS[@]}; do for script in ${RBENV_WHICH_PLUGINS[@]}; do