diff --git a/nvm.sh b/nvm.sh index 2f60317..3f0cd86 100755 --- a/nvm.sh +++ b/nvm.sh @@ -201,6 +201,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.10.24 Install a specific version number" @@ -537,6 +538,24 @@ nvm() { 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."