From 0899b2e462621e55643ad11f44e3acf049f8fa65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Koz=CC=81min=CC=81ski?= Date: Sun, 1 Sep 2013 19:40:24 +0200 Subject: [PATCH] Added npmset option npmset option is based od gemset from rvm --- nvm.sh | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/nvm.sh b/nvm.sh index dc44f2d..5feb0a6 100755 --- a/nvm.sh +++ b/nvm.sh @@ -182,6 +182,7 @@ nvm() { 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 npmset Changes global npm prefix " echo echo "Example:" echo " nvm install v0.4.12 Install a specific version number" @@ -223,7 +224,7 @@ nvm() { fi if [ "$os" = "freebsd" ]; then - nobinary=1 + nobinary=1 fi VERSION=`nvm_remote_version $1` @@ -281,7 +282,7 @@ nvm() { sum='' make='make' if [ "$os" = "freebsd" ]; then - make='gmake' + make='gmake' fi local tmpdir="$NVM_DIR/src" local tmptarball="$tmpdir/node-$VERSION.tar.gz" @@ -484,6 +485,24 @@ nvm() { INSTALLS=`nvm use $VERSION > /dev/null && npm -g -p ll | \grep "$ROOT\/[^/]\+$" | cut -d '/' -f 8 | cut -d ":" -f 2 | \grep -v npm | tr "\n" " "` npm install -g $INSTALLS ;; + "npmset" ) + # [ $# -ne 2 ] && nvm help && return + VERSION=`nvm_version` + NPM_CONFIG_PREFIX=$NVM_DIR/npmset/$VERSION-$2 + if [ -d "$NPM_CONFIG_PREFIX" ]; then + echo "Npmset changed to $2 for node version $VERSION" + else + mkdir -p $NPM_CONFIG_PREFIX + echo "Created new npmset $2 for node version $VERSION" + fi + if [[ $PATH == *$NVM_DIR/npmset/*/bin* ]]; then + PATH=${PATH%$NVM_DIR/npmset/*/bin*}$NPM_CONFIG_PREFIX/bin${PATH#*$NVM_DIR/npmset/*/bin} + else + PATH="$NPM_CONFIG_PREFIX/bin:$PATH" + fi + + npm config set prefix $NPM_CONFIG_PREFIX + ;; "clear-cache" ) rm -f $NVM_DIR/v* 2>/dev/null echo "Cache cleared."