Added npmset option

npmset option is based od gemset from rvm
This commit is contained in:
Michał Koźmiński 2013-09-01 19:40:24 +02:00
parent db3035c29b
commit 0899b2e462
1 changed files with 21 additions and 2 deletions

19
nvm.sh
View File

@ -182,6 +182,7 @@ nvm() {
echo " nvm alias <name> <version> Set an alias named <name> pointing to <version>" echo " nvm alias <name> <version> Set an alias named <name> pointing to <version>"
echo " nvm unalias <name> Deletes the alias named <name>" echo " nvm unalias <name> Deletes the alias named <name>"
echo " nvm copy-packages <version> Install global NPM packages contained in <version> to current version" echo " nvm copy-packages <version> Install global NPM packages contained in <version> to current version"
echo " nvm npmset <name> Changes global npm prefix "
echo echo
echo "Example:" echo "Example:"
echo " nvm install v0.4.12 Install a specific version number" echo " nvm install v0.4.12 Install a specific version number"
@ -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" " "` 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 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" ) "clear-cache" )
rm -f $NVM_DIR/v* 2>/dev/null rm -f $NVM_DIR/v* 2>/dev/null
echo "Cache cleared." echo "Cache cleared."