Merge pull request #508 from creationix/nvm_copy_packages_not_npm

Don't copy `npm` with `nvm copy-packages`
master
Jordan Harband 2014-09-03 00:01:03 -07:00
commit 1c3585e5a2
2 changed files with 7 additions and 9 deletions

8
nvm.sh
View File

@ -785,15 +785,13 @@ nvm() {
nvm help nvm help
return 127 return 127
fi fi
VERSION=$(nvm_version "$2") VERSION="$(nvm_version "$2")"
local ROOT
ROOT=$(nvm use $VERSION && npm -g root)
# declare local INSTALLS first, otherwise it doesn't work in zsh # declare local INSTALLS first, otherwise it doesn't work in zsh
local INSTALLS local INSTALLS
INSTALLS=$(nvm use $VERSION > /dev/null && npm list --global --parseable --depth=0 2> /dev/null | tail -n +2 | \grep -o -e '/[^/]*$' | cut -c 2- | xargs) INSTALLS=$(nvm use "$VERSION" > /dev/null && npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | xargs)
npm install -g --quiet $INSTALLS echo "$INSTALLS" | xargs npm install -g --quiet
;; ;;
"clear-cache" ) "clear-cache" )
rm -f $NVM_DIR/v* "$(nvm_version_dir)" 2>/dev/null rm -f $NVM_DIR/v* "$(nvm_version_dir)" 2>/dev/null

View File

@ -6,15 +6,15 @@ die () { echo "$@" ; exit 1; }
nvm use 0.10.28 nvm use 0.10.28
EXPECTED_PACKAGES="autoprefixer bower david eslint grunt-cli grunth-cli http-server jshint marked node-gyp npm recursive-blame uglify-js yo" EXPECTED_PACKAGES="autoprefixer bower david eslint grunt-cli grunth-cli http-server jshint marked node-gyp recursive-blame uglify-js yo"
npm install -g --quiet $EXPECTED_PACKAGES echo "$EXPECTED_PACKAGES" | xargs npm install -g --quiet
nvm use 0.10.29 nvm use 0.10.29
ORIGINAL_PACKAGES=$(npm list --global --parseable --depth=0 2> /dev/null | tail -n +2 | grep -o -e '/[^/]*$' | cut -c 2- | sort | uniq | xargs) 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 copy-packages 0.10.28
FINAL_PACKAGES=$(npm list --global --parseable --depth=0 2> /dev/null | tail -n +2 | grep -o -e '/[^/]*$' | cut -c 2- | sort | uniq | xargs) 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)" [ "$FINAL_PACKAGES" = "$EXPECTED_PACKAGES" ] || die "final packages ($FINAL_PACKAGES) did not match expected packages ($EXPECTED_PACKAGES)"
[ "$ORIGINAL_PACKAGES" != "$FINAL_PACKAGES" ] || die "original packages matched final packages ($ORIGINAL_PACKAGES)" [ "$ORIGINAL_PACKAGES" != "$FINAL_PACKAGES" ] || die "original packages matched final packages ($ORIGINAL_PACKAGES)"