Browse Source

Make `nvm copy-packages` refuse to copy packages from the currently activated version.

master
Jordan Harband 11 years ago
parent
commit
ff1781b95d
  1. 12
      nvm.sh
  2. 12
      test/slow/nvm copy-packages/Running "nvm copy-packages $(nvm ls current)" should error out

12
nvm.sh

@ -792,9 +792,17 @@ nvm() { @@ -792,9 +792,17 @@ nvm() {
nvm help
return 127
fi
VERSION="$(nvm_version "$2")"
# declare local INSTALLS first, otherwise it doesn't work in zsh
local PROVIDED_VERSION
PROVIDED_VERSION="$2"
if [ "$PROVIDED_VERSION" = "$(nvm_ls_current)" ]; then
echo 'Can not copy packages from the current version of node.' >&2
return 2
fi
local VERSION
VERSION="$(nvm_version "$PROVIDED_VERSION")"
local INSTALLS
INSTALLS=$(nvm use "$VERSION" > /dev/null && npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | xargs)

12
test/slow/nvm copy-packages/Running "nvm copy-packages $(nvm ls current)" should error out

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
#!/bin/sh
die () { echo $@ ; exit 1; }
. ../../nvm.sh
local EXPECTED_MSG="Can not copy packages from the current version of node."
[ "$(nvm use 0.10.28 && nvm copy-packages 0.10.28 2&>1)" = "$EXPECTED_MSG" ] || die '"nvm use 0.10.28 && nvm copy-packages 0.10.28" did not fail with the right message'
$(nvm use 0.10.28 && nvm copy-packages 0.10.28)
[ $? = 2 ] || die '"nvm use 0.10.28 && nvm copy-packages 0.10.28" did not fail with the right error code'
Loading…
Cancel
Save