mirror of
https://github.com/rbenv/ruby-build.git
synced 2025-01-27 00:21:11 +01:00
Merge pull request #633 from sstephenson/upgrade-instructions
Show specific upgrade instructions based on environment
This commit is contained in:
commit
4ef4ed4cd1
2 changed files with 38 additions and 8 deletions
|
@ -195,17 +195,25 @@ ruby-build $KEEP $VERBOSE $HAS_PATCH "$DEFINITION" "$PREFIX" || STATUS="$?"
|
|||
# Display a more helpful message if the definition wasn't found.
|
||||
if [ "$STATUS" == "2" ]; then
|
||||
{ candidates="$(definitions "$DEFINITION")"
|
||||
here="$(dirname "${0%/*}")"
|
||||
if [ -n "$candidates" ]; then
|
||||
echo
|
||||
echo "The following versions contain \`$DEFINITION' in the name:"
|
||||
echo "$candidates" | indent
|
||||
fi
|
||||
echo
|
||||
echo "You can list all available versions with \`rbenv install --list'."
|
||||
echo "See all available versions with \`rbenv install --list'."
|
||||
echo
|
||||
echo "If the version you're looking for is not present, first try upgrading"
|
||||
echo "ruby-build. If it's still missing, open a request on the ruby-build"
|
||||
echo "issue tracker: https://github.com/sstephenson/ruby-build/issues"
|
||||
echo -n "If the version you need is missing, try upgrading ruby-build"
|
||||
if [ "$here" != "${here#$(brew --prefix 2>/dev/null)}" ]; then
|
||||
printf ":\n\n"
|
||||
echo " brew update && brew upgrade ruby-build"
|
||||
elif [ -d "${here}/.git" ]; then
|
||||
printf ":\n\n"
|
||||
echo " cd ${here} && git pull"
|
||||
else
|
||||
printf ".\n"
|
||||
fi
|
||||
} >&2
|
||||
fi
|
||||
|
||||
|
|
|
@ -52,6 +52,7 @@ OUT
|
|||
}
|
||||
|
||||
@test "nonexistent version" {
|
||||
stub brew false
|
||||
stub_ruby_build 'echo ERROR >&2 && exit 2' \
|
||||
"--definitions : echo 1.8.7 1.9.3-p0 1.9.3-p194 2.1.2 | tr ' ' $'\\n'"
|
||||
|
||||
|
@ -64,16 +65,37 @@ The following versions contain \`1.9.3' in the name:
|
|||
1.9.3-p0
|
||||
1.9.3-p194
|
||||
|
||||
You can list all available versions with \`rbenv install --list'.
|
||||
See all available versions with \`rbenv install --list'.
|
||||
|
||||
If the version you're looking for is not present, first try upgrading
|
||||
ruby-build. If it's still missing, open a request on the ruby-build
|
||||
issue tracker: https://github.com/sstephenson/ruby-build/issues
|
||||
If the version you need is missing, try upgrading ruby-build:
|
||||
|
||||
cd ${BATS_TEST_DIRNAME}/.. && git pull
|
||||
OUT
|
||||
|
||||
unstub ruby-build
|
||||
}
|
||||
|
||||
@test "Homebrew upgrade instructions" {
|
||||
stub brew "--prefix : echo '${BATS_TEST_DIRNAME%/*}'"
|
||||
stub_ruby_build 'echo ERROR >&2 && exit 2' \
|
||||
"--definitions : true"
|
||||
|
||||
run rbenv-install 1.9.3
|
||||
assert_failure
|
||||
assert_output <<OUT
|
||||
ERROR
|
||||
|
||||
See all available versions with \`rbenv install --list'.
|
||||
|
||||
If the version you need is missing, try upgrading ruby-build:
|
||||
|
||||
brew update && brew upgrade ruby-build
|
||||
OUT
|
||||
|
||||
unstub brew
|
||||
unstub ruby-build
|
||||
}
|
||||
|
||||
@test "no build definitions from plugins" {
|
||||
assert [ ! -e "${RBENV_ROOT}/plugins" ]
|
||||
stub_ruby_build 'echo $RUBY_BUILD_DEFINITIONS'
|
||||
|
|
Loading…
Reference in a new issue