diff --git a/README.markdown b/README.markdown index 8ae1af7..4eeddae 100644 --- a/README.markdown +++ b/README.markdown @@ -12,11 +12,11 @@ Note: `nvm` does not support Windows (see [#284](https://github.com/creationix/n To install you could use the [install script][2] using cURL: - curl https://raw.githubusercontent.com/creationix/nvm/v0.18.0/install.sh | bash + curl https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash or Wget: - wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.18.0/install.sh | bash + wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash The script clones the nvm repository to `~/.nvm` and adds the source line to your profile (`~/.bash_profile`, `~/.zshrc` or `~/.profile`). @@ -150,8 +150,9 @@ Put the above sourcing line just below the sourcing line for NVM in your profile nvm $ nvm [tab][tab] - alias copy-packages help list run uninstall version - clear-cache deactivate install ls unalias use + alias deactivate install ls run unload + clear-cache exec list ls-remote unalias use + current help list-remote reinstall-packages uninstall version nvm alias @@ -190,7 +191,7 @@ After the v0.8.6 release of node, nvm tries to install from binary packages. But nvm install -s 0.8.6 [1]: https://github.com/creationix/nvm.git -[2]: https://github.com/creationix/nvm/blob/v0.18.0/install.sh +[2]: https://github.com/creationix/nvm/blob/v0.20.0/install.sh [3]: https://travis-ci.org/creationix/nvm [Urchin]: https://github.com/scraperwiki/urchin diff --git a/bash_completion b/bash_completion index 4287e20..27d882e 100644 --- a/bash_completion +++ b/bash_completion @@ -18,10 +18,10 @@ __nvm_commands () current_word="${COMP_WORDS[COMP_CWORD]}" COMMANDS='\ - help install uninstall use run exec\ - alias unalias copy-packages - current list ls list-remote ls-remote\ - clear-cache deactivate unload + help install uninstall use run exec \ + alias unalias reinstall-packages \ + current list ls list-remote ls-remote \ + clear-cache deactivate unload \ version' if [ ${#COMP_WORDS[@]} == 4 ]; then diff --git a/install.sh b/install.sh index 15de6bf..2c6fede 100755 --- a/install.sh +++ b/install.sh @@ -27,7 +27,9 @@ nvm_source() { return 0 fi if [ "_$NVM_METHOD" = "_script" ]; then - NVM_SOURCE="https://raw.githubusercontent.com/creationix/nvm/v0.18.0/nvm.sh" + NVM_SOURCE="https://raw.githubusercontent.com/creationix/nvm/v0.20.0/nvm.sh" + elif [ "_$NVM_METHOD" = "_script-nvm-exec" ]; then + NVM_SOURCE="https://raw.githubusercontent.com/creationix/nvm/v0.20.0/nvm-exec" elif [ "_$NVM_METHOD" = "_git" ] || [ -z "$NVM_METHOD" ]; then NVM_SOURCE="https://github.com/creationix/nvm.git" else @@ -67,13 +69,15 @@ install_nvm_from_git() { mkdir -p "$NVM_DIR" git clone "$(nvm_source "git")" "$NVM_DIR" fi - cd "$NVM_DIR" && git checkout v0.18.0 && git branch -D master >/dev/null 2>&1 + cd "$NVM_DIR" && git checkout v0.20.0 && git branch -D master >/dev/null 2>&1 return } install_nvm_as_script() { local NVM_SOURCE NVM_SOURCE=$(nvm_source "script") + local NVM_EXEC_SOURCE + NVM_EXEC_SOURCE=$(nvm_source "script-nvm-exec") # Downloading to $NVM_DIR mkdir -p "$NVM_DIR" @@ -82,10 +86,18 @@ install_nvm_as_script() { else echo "=> Downloading nvm as script to '$NVM_DIR'" fi - nvm_download -s "$_source" -o "$NVM_DIR/nvm.sh" || { - echo >&2 "Failed to download '$_source'.." + nvm_download -s "$NVM_SOURCE" -o "$NVM_DIR/nvm.sh" || { + echo >&2 "Failed to download '$NVM_SOURCE'" return 1 } + nvm_download -s "$NVM_EXEC_SOURCE" -o "$NVM_DIR/nvm-exec" || { + echo >&2 "Failed to download '$NVM_EXEC_SOURCE'" + return 2 + } + chmod a+x "$NVM_DIR/nvm-exec" || { + echo >&2 "Failed to mark '$NVM_DIR/nvm-exec' as executable" + return 3 + } } # diff --git a/nvm.sh b/nvm.sh index 9a42199..9709243 100644 --- a/nvm.sh +++ b/nvm.sh @@ -253,11 +253,11 @@ nvm_alias() { } nvm_ls_current() { - local NODE_PATH - NODE_PATH="$(which node 2> /dev/null)" + local NVM_LS_CURRENT_NODE_PATH + NVM_LS_CURRENT_NODE_PATH="$(which node 2> /dev/null)" if [ $? -ne 0 ]; then echo 'none' - elif nvm_tree_contains_path "$NVM_DIR" "$NODE_PATH"; then + elif nvm_tree_contains_path "$NVM_DIR" "$NVM_LS_CURRENT_NODE_PATH"; then local VERSION VERSION=`node -v 2>/dev/null` if [ "$VERSION" = "v0.6.21-pre" ]; then @@ -531,32 +531,33 @@ nvm() { echo "Node Version Manager" echo echo "Usage:" - echo " nvm help Show this message" - echo " nvm --version Print out the latest released version of nvm" - echo " nvm install [-s] Download and install a , [-s] from source. Uses .nvmrc if available" - echo " nvm uninstall Uninstall a version" - echo " nvm use Modify PATH to use . Uses .nvmrc if available" - echo " nvm run [] Run with as arguments. Uses .nvmrc if available for " - echo " nvm current Display currently activated version" - echo " nvm ls List installed versions" - echo " nvm ls List versions matching a given description" - echo " nvm ls-remote List remote versions available for install" - echo " nvm deactivate Undo effects of NVM on current shell" - echo " nvm alias [] Show all aliases beginning with " - echo " nvm alias Set an alias named pointing to " - echo " nvm unalias Deletes the alias named " - echo " nvm copy-packages Install global NPM packages contained in to current version" - echo " nvm unload Unload NVM from shell" - echo " nvm which [] Display path to installed node version" + echo " nvm help Show this message" + echo " nvm --version Print out the latest released version of nvm" + echo " nvm install [-s] Download and install a , [-s] from source. Uses .nvmrc if available" + echo " nvm uninstall Uninstall a version" + echo " nvm use Modify PATH to use . Uses .nvmrc if available" + echo " nvm run [] Run with as arguments. Uses .nvmrc if available for " + echo " nvm current Display currently activated version" + echo " nvm ls List installed versions" + echo " nvm ls List versions matching a given description" + echo " nvm ls-remote List remote versions available for install" + echo " nvm deactivate Undo effects of \`nvm\` on current shell" + echo " nvm alias [] Show all aliases beginning with " + echo " nvm alias Set an alias named pointing to " + echo " nvm unalias Deletes the alias named " + echo " nvm reinstall-packages Reinstall global \`npm\` packages contained in to current version" + echo " nvm unload Unload \`nvm\` from shell" + echo " nvm which [] Display path to installed node version" echo echo "Example:" - echo " nvm install v0.10.24 Install a specific version number" - echo " nvm use 0.10 Use the latest available 0.10.x release" - echo " nvm run 0.10.24 myApp.js Run myApp.js using node v0.10.24" - echo " nvm alias default 0.10.24 Set default node version on a shell" + echo " nvm install v0.10.32 Install a specific version number" + echo " nvm use 0.10 Use the latest available 0.10.x release" + echo " nvm run 0.10.32 app.js Run app.js using node v0.10.32" + echo " nvm exec 0.10.32 node app.js Run \`node app.js\` with the PATH pointing to node v0.10.32" + echo " nvm alias default 0.10.32 Set default node version on a shell" echo echo "Note:" - echo " to remove, delete, or uninstall nvm - just remove ~/.nvm, ~/.npm, and ~/.bower folders" + echo " to remove, delete, or uninstall nvm - just remove ~/.nvm, ~/.npm, and ~/.bower folders" echo ;; @@ -611,32 +612,35 @@ nvm() { VERSION="$(nvm_remote_version "$provided_version")" ADDITIONAL_PARAMETERS='' - local PROVIDED_COPY_PACKAGES_FROM - local COPY_PACKAGES_FROM + local PROVIDED_REINSTALL_PACKAGES_FROM + local REINSTALL_PACKAGES_FROM while [ $# -ne 0 ] do - if [ "_$(echo "$1" | cut -c 1-21)" = "_--copy-packages-from=" ]; then - PROVIDED_COPY_PACKAGES_FROM="$(echo "$1" | cut -c 22-)" - COPY_PACKAGES_FROM="$(nvm_version "$PROVIDED_COPY_PACKAGES_FROM")" + if [ "_$(echo "$1" | cut -c 1-26)" = "_--reinstall-packages-from=" ]; then + PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | cut -c 27-)" + REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" + elif [ "_$(echo "$1" | cut -c 1-21)" = "_--copy-packages-from=" ]; then + PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | cut -c 22-)" + REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" else ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1" fi shift done - if [ "_$(nvm_ensure_version_prefix "$PROVIDED_COPY_PACKAGES_FROM")" = "_$VERSION" ]; then - echo "You can't copy global packages from the same version of node you're installing." >&2 + if [ "_$(nvm_ensure_version_prefix "$PROVIDED_REINSTALL_PACKAGES_FROM")" = "_$VERSION" ]; then + echo "You can't reinstall global packages from the same version of node you're installing." >&2 return 4 - elif [ ! -z "$PROVIDED_COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" = "_N/A" ]; then - echo "If --copy-packages-from is provided, it must point to an installed version of node." >&2 + elif [ ! -z "$PROVIDED_REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" = "_N/A" ]; then + echo "If --reinstall-packages-from is provided, it must point to an installed version of node." >&2 return 5 fi if [ -d "$(nvm_version_path "$VERSION")" ]; then echo "$VERSION is already installed." >&2 - if nvm use "$VERSION" && [ ! -z "$COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" != "_N/A" ]; then - nvm copy-packages "$COPY_PACKAGES_FROM" + if nvm use "$VERSION" && [ ! -z "$REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then + nvm reinstall-packages "$REINSTALL_PACKAGES_FROM" fi return $? fi @@ -667,8 +671,8 @@ nvm() { mv "$tmpdir" "$(nvm_version_path "$VERSION")" ) then - if nvm use "$VERSION" && [ ! -z "$COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" != "_N/A" ]; then - nvm copy-packages "$COPY_PACKAGES_FROM" + if nvm use "$VERSION" && [ ! -z "$REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then + nvm reinstall-packages "$REINSTALL_PACKAGES_FROM" fi return $? else @@ -713,8 +717,8 @@ nvm() { $make $MAKE_CXX install ) then - if nvm use "$VERSION" && [ ! -z "$COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" != "_N/A" ]; then - nvm copy-packages "$COPY_PACKAGES_FROM" + if nvm use "$VERSION" && [ ! -z "$REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then + nvm reinstall-packages "$REINSTALL_PACKAGES_FROM" fi if ! nvm_has "npm" ; then echo "Installing npm..." @@ -787,9 +791,7 @@ nvm() { fi NEWPATH="$(nvm_strip_path "$NODE_PATH" "/lib/node_modules")" - if [ "$NODE_PATH" = "$NEWPATH" ]; then - echo "Could not find $NVM_DIR/*/lib/node_modules in \$NODE_PATH" >&2 - else + if [ "$NODE_PATH" != "$NEWPATH" ]; then export NODE_PATH="$NEWPATH" echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH" fi @@ -847,13 +849,8 @@ nvm() { MANPATH=`nvm_prepend_path "$MANPATH" "$NVM_VERSION_DIR/share/man"` export MANPATH fi - # Strip other version from NODE_PATH - NODE_PATH=`nvm_strip_path "$NODE_PATH" "/lib/node_modules"` - # Prepend current version - NODE_PATH=`nvm_prepend_path "$NODE_PATH" "$NVM_VERSION_DIR/lib/node_modules"` export PATH hash -r - export NODE_PATH export NVM_PATH="$NVM_VERSION_DIR/lib/node" export NVM_BIN="$NVM_VERSION_DIR/bin" if [ "$NVM_SYMLINK_CURRENT" = true ]; then @@ -1040,7 +1037,7 @@ nvm() { rm -f $NVM_DIR/alias/$2 echo "Deleted alias $2" ;; - "copy-packages" ) + "reinstall-packages" | "copy-packages" ) if [ $# -ne 2 ]; then nvm help return 127 @@ -1050,7 +1047,7 @@ nvm() { PROVIDED_VERSION="$2" if [ "$PROVIDED_VERSION" = "$(nvm_ls_current)" ] || [ "$(nvm_version $PROVIDED_VERSION)" = "$(nvm_ls_current)" ]; then - echo 'Can not copy packages from the current version of node.' >&2 + echo 'Can not reinstall packages from the current version of node.' >&2 return 2 fi @@ -1078,7 +1075,7 @@ nvm() { nvm_version $2 ;; "--version" ) - echo "0.18.0" + echo "0.20.0" ;; "unload" ) unset -f nvm nvm_print_versions nvm_checksum nvm_ls_remote nvm_ls nvm_remote_version nvm_version nvm_rc_version nvm_version_greater nvm_version_greater_than_or_equal_to > /dev/null 2>&1 diff --git a/package.json b/package.json index 0edfa28..b25380b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nvm", - "version": "0.18.0", + "version": "0.20.0", "description": "Node Version Manager - Simple bash script to manage multiple active node.js versions", "directories": { "test": "test" diff --git "a/test/fast/Running \"nvm deactivate\" should unset the nvm environment variables." "b/test/fast/Running \"nvm deactivate\" should unset the nvm environment variables." index 2149273..e6a39d4 100755 --- "a/test/fast/Running \"nvm deactivate\" should unset the nvm environment variables." +++ "b/test/fast/Running \"nvm deactivate\" should unset the nvm environment variables." @@ -8,7 +8,8 @@ die () { echo $@ ; exit 1; } . ../../nvm.sh nvm use v0.2.3 && -[ `expr $PATH : ".*v0.2.3/.*/bin"` != 0 ] && [ `expr $NODE_PATH : ".*v0.2.3/.*/lib/node_modules"` != 0 ] || die "Failed to activate v0.2.3" +[ `expr $PATH : ".*v0.2.3/.*/bin"` != 0 ] && [ `expr $NODE_PATH : ".*v0.2.3/.*/lib/node_modules"` = 0 ] || die "Failed to activate v0.2.3" +# ^ note: NODE_PATH should not contain `npm root -g` since globals should not be requireable nvm deactivate && [ `expr $PATH : ".*v0.2.3/.*/bin"` = 0 ] && [ `expr $NODE_PATH : ".*v0.2.3/.*/lib/node_modules"` = 0 ] || die "Failed to deactivate v0.2.3" diff --git "a/test/fast/Running \"nvm install\" with \"--copy-packages-from\" requires a valid version" "b/test/fast/Running \"nvm install\" with \"--copy-packages-from\" requires a valid version" deleted file mode 100755 index bbd7cbb..0000000 --- "a/test/fast/Running \"nvm install\" with \"--copy-packages-from\" requires a valid version" +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -die () { echo $@ ; cleanup ; exit 1; } -cleanup () { - rm -rf ../../v0.10.4 -} - -mkdir ../../v0.10.4 - -. ../../nvm.sh - -nvm deactivate >/dev/null 2>&1 - -INSTALL_ERROR_MSG="$(nvm install v0.10.5 --copy-packages-from=0.11 2>&1)" -EXPECTED_ERROR_MSG="If --copy-packages-from is provided, it must point to an installed version of node." -[ "~$INSTALL_ERROR_MSG" = "~$EXPECTED_ERROR_MSG" ] \ - || die ""nvm install --copy-packages" should fail when given an uninstalled version: expected '$EXPECTED_ERROR_MSG', got '$INSTALL_ERROR_MSG'" - -INSTALL_EXIT_CODE="$(nvm install v0.10.5 --copy-packages-from=0.11 >/dev/null 2>&1; echo $?)" -[ "~$INSTALL_EXIT_CODE" = "~5" ] \ - || die ""nvm install --copy-packages" should exit with code 5 when given an uninstalled version, got $INSTALL_EXIT_CODE" - -INSTALL_ERROR_MSG="$(nvm install v0.10.5 --copy-packages-from=0.10.5 2>&1)" -EXPECTED_ERROR_MSG="You can't copy global packages from the same version of node you're installing." -[ "~$INSTALL_ERROR_MSG" = "~$EXPECTED_ERROR_MSG" ] \ - || die ""nvm install --copy-packages" should fail when given the same version: expected '$EXPECTED_ERROR_MSG', got '$INSTALL_ERROR_MSG'" - -INSTALL_EXIT_CODE="$(nvm install v0.10.5 --copy-packages-from=0.10.5 >/dev/null 2>&1; echo $?)" -[ "~$INSTALL_EXIT_CODE" = "~4" ] \ - || die ""nvm install --copy-packages" should exit with code 4 when given the same version, got $INSTALL_EXIT_CODE" - diff --git "a/test/fast/Running \"nvm install\" with \"--reinstall-packages-from\" requires a valid version" "b/test/fast/Running \"nvm install\" with \"--reinstall-packages-from\" requires a valid version" new file mode 100755 index 0000000..00b6bc6 --- /dev/null +++ "b/test/fast/Running \"nvm install\" with \"--reinstall-packages-from\" requires a valid version" @@ -0,0 +1,31 @@ +#!/bin/sh + +die () { echo $@ ; cleanup ; exit 1; } +cleanup () { + rm -rf ../../v0.10.4 +} + +mkdir ../../v0.10.4 + +. ../../nvm.sh + +nvm deactivate >/dev/null 2>&1 + +INSTALL_ERROR_MSG="$(nvm install v0.10.5 --reinstall-packages-from=0.11 2>&1)" +EXPECTED_ERROR_MSG="If --reinstall-packages-from is provided, it must point to an installed version of node." +[ "~$INSTALL_ERROR_MSG" = "~$EXPECTED_ERROR_MSG" ] \ + || die ""nvm install --reinstall-packages-from" should fail when given an uninstalled version: expected '$EXPECTED_ERROR_MSG', got '$INSTALL_ERROR_MSG'" + +INSTALL_EXIT_CODE="$(nvm install v0.10.5 --reinstall-packages-from=0.11 >/dev/null 2>&1; echo $?)" +[ "~$INSTALL_EXIT_CODE" = "~5" ] \ + || die ""nvm install --reinstall-packages-from" should exit with code 5 when given an uninstalled version, got $INSTALL_EXIT_CODE" + +INSTALL_ERROR_MSG="$(nvm install v0.10.5 --reinstall-packages-from=0.10.5 2>&1)" +EXPECTED_ERROR_MSG="You can't reinstall global packages from the same version of node you're installing." +[ "~$INSTALL_ERROR_MSG" = "~$EXPECTED_ERROR_MSG" ] \ + || die ""nvm install --reinstall-packages-from" should fail when given the same version: expected '$EXPECTED_ERROR_MSG', got '$INSTALL_ERROR_MSG'" + +INSTALL_EXIT_CODE="$(nvm install v0.10.5 --reinstall-packages-from=0.10.5 >/dev/null 2>&1; echo $?)" +[ "~$INSTALL_EXIT_CODE" = "~4" ] \ + || die ""nvm install --reinstall-packages-from" should exit with code 4 when given the same version, got $INSTALL_EXIT_CODE" + diff --git a/test/install_script/nvm_source b/test/install_script/nvm_source index 94c773f..8307639 100755 --- a/test/install_script/nvm_source +++ b/test/install_script/nvm_source @@ -17,6 +17,9 @@ echo $(nvm_source "git") | grep "nvm.git$" > /dev/null || die "nvm_source withou # nvm_source with script parameter returns the location of nvm.sh echo $(nvm_source "script") | grep "nvm.sh$" > /dev/null || die "nvm_source \"script\" should return the location of nvm.sh" +# nvm_source with script-nvm-exec parameter returns the location of nvm-exec +echo $(nvm_source "script-nvm-exec") | grep "nvm-exec$" > /dev/null || die "nvm_source \"script-nvm-exec\" should return the location of nvm.sh" + # nvm_source with any other parameter errors out and exits nvm_source "anything" 2> /dev/null && die "nvm_source with invalid parameter should exit" out=$(nvm_source "anything" 2>&1 >/dev/null) || : #Saving the process here diff --git a/test/installation/install while copying packages b/test/installation/install while reinstalling packages similarity index 88% rename from test/installation/install while copying packages rename to test/installation/install while reinstalling packages index 45cafb5..76eb7e5 100755 --- a/test/installation/install while copying packages +++ b/test/installation/install while reinstalling packages @@ -23,7 +23,7 @@ npm list --global | grep is-nan > /dev/null || die "is-nan isn't installed" nvm ls 0.9 | grep v0.9.7 > /dev/null || die "nvm ls 0.9 didn't show v0.9.7" -nvm install 0.9.12 --copy-packages-from=0.9 || die "nvm install 0.9.12 --copy-packages-from=0.9 failed" +nvm install 0.9.12 --reinstall-packages-from=0.9 || die "nvm install 0.9.12 --reinstall-packages-from=0.9 failed" [ -d ../../v0.9.12 ] || die "nvm install 0.9.12 didn't install" diff --git "a/test/slow/nvm copy-packages/Running \"nvm copy-packages $(nvm ls current)\" should error out" "b/test/slow/nvm copy-packages/Running \"nvm copy-packages $(nvm ls current)\" should error out" deleted file mode 100755 index e296e7c..0000000 --- "a/test/slow/nvm copy-packages/Running \"nvm copy-packages $(nvm ls current)\" should error out" +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -die () { echo $@ ; exit 1; } - -. ../../../nvm.sh - -nvm use 0.10.28 > /dev/null - -EXPECTED_MSG="Can not copy packages from the current version of node." -ACTUAL_MSG="$(nvm copy-packages 0.10.28 2>&1 > /dev/null)" -[ "~$ACTUAL_MSG" = "~$EXPECTED_MSG" ] || die "'nvm use 0.10.28 && nvm copy-packages 0.10.28' did not fail with the right message: '$ACTUAL_MESSAGE'" - -EXPECTED_ERROR_CODE="2" -ACTUAL_ERROR_CODE="$(nvm copy-packages 0.10.28 > /dev/null 2>&1 ; echo $?)" -[ "~$ACTUAL_ERROR_CODE" = "~$EXPECTED_ERROR_CODE" ] || die "'nvm use 0.10.28 && nvm copy-packages 0.10.28' did not fail with the right error code: expected '$EXPECTED_ERROR_CODE', got '$ACTUAL_ERROR_CODE'" - diff --git "a/test/slow/nvm reinstall-packages/Running \"nvm copy-packages $(nvm ls current)\" should error out" "b/test/slow/nvm reinstall-packages/Running \"nvm copy-packages $(nvm ls current)\" should error out" new file mode 100755 index 0000000..1951b12 --- /dev/null +++ "b/test/slow/nvm reinstall-packages/Running \"nvm copy-packages $(nvm ls current)\" should error out" @@ -0,0 +1,16 @@ +#!/bin/sh + +die () { echo $@ ; exit 1; } + +. ../../../nvm.sh + +nvm use 0.10.28 > /dev/null + +EXPECTED_MSG="Can not reinstall packages from the current version of node." +ACTUAL_MSG="$(nvm reinstall-packages 0.10.28 2>&1 > /dev/null)" +[ "~$ACTUAL_MSG" = "~$EXPECTED_MSG" ] || die "'nvm use 0.10.28 && nvm reinstall-packages 0.10.28' did not fail with the right message: '$ACTUAL_MESSAGE'" + +EXPECTED_ERROR_CODE="2" +ACTUAL_ERROR_CODE="$(nvm reinstall-packages 0.10.28 > /dev/null 2>&1 ; echo $?)" +[ "~$ACTUAL_ERROR_CODE" = "~$EXPECTED_ERROR_CODE" ] || die "'nvm use 0.10.28 && nvm reinstall-packages 0.10.28' did not fail with the right error code: expected '$EXPECTED_ERROR_CODE', got '$ACTUAL_ERROR_CODE'" + diff --git a/test/slow/nvm copy-packages/setup_dir b/test/slow/nvm reinstall-packages/setup_dir similarity index 100% rename from test/slow/nvm copy-packages/setup_dir rename to test/slow/nvm reinstall-packages/setup_dir diff --git a/test/slow/nvm copy-packages/should work as expected b/test/slow/nvm reinstall-packages/should work as expected similarity index 96% rename from test/slow/nvm copy-packages/should work as expected rename to test/slow/nvm reinstall-packages/should work as expected index e599609..4942e6e 100755 --- a/test/slow/nvm copy-packages/should work as expected +++ b/test/slow/nvm reinstall-packages/should work as expected @@ -13,7 +13,7 @@ echo "$EXPECTED_PACKAGES" | xargs npm install -g --quiet nvm use 0.10.29 ORIGINAL_PACKAGES=$(npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | sort | uniq | xargs) -nvm copy-packages 0.10.28 +nvm reinstall-packages 0.10.28 FINAL_PACKAGES=$(npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | sort | uniq | xargs) [ "$FINAL_PACKAGES" = "$EXPECTED_PACKAGES" ] || die "final packages ($FINAL_PACKAGES) did not match expected packages ($EXPECTED_PACKAGES)" diff --git a/test/slow/nvm copy-packages/teardown_dir b/test/slow/nvm reinstall-packages/teardown_dir similarity index 100% rename from test/slow/nvm copy-packages/teardown_dir rename to test/slow/nvm reinstall-packages/teardown_dir