diff --git a/nvm.sh b/nvm.sh index 272fc79..273d589 100755 --- a/nvm.sh +++ b/nvm.sh @@ -134,6 +134,16 @@ nvm_checksum() { fi } +nvm_update_symlink() { + # execute only when a symlink is defined + if [ -f $NVM_DIR/symlink ]; then + if [ -d `cat $NVM_DIR/symlink` ]; then + rm `cat $NVM_DIR/symlink` + fi + ln -sf $(echo $NVM_DIR/`cat $NVM_DIR/alias/default`) $(echo `cat $NVM_DIR/symlink`) + fi +} + print_versions() { local OUTPUT='' @@ -193,6 +203,7 @@ nvm() { echo " nvm alias [] Show all aliases beginning with " echo " nvm alias Set an alias named pointing to " echo " nvm unalias Deletes the alias named " + echo " nvm symlink Define a symlink option to use with more available runtime references" echo " nvm copy-packages Install global NPM packages contained in to current version" echo echo "Example:" @@ -238,7 +249,7 @@ nvm() { fi if [ "$os" = "freebsd" ]; then - nobinary=1 + nobinary=1 fi VERSION=`nvm_remote_version $1` @@ -296,7 +307,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" @@ -504,6 +515,7 @@ nvm() { else echo "$2 -> $3" fi + nvm_update_symlink ;; "unalias" ) mkdir -p $NVM_DIR/alias @@ -511,6 +523,13 @@ nvm() { [ ! -f $NVM_DIR/alias/$2 ] && echo "Alias $2 doesn't exist!" && return rm -f $NVM_DIR/alias/$2 echo "Deleted alias $2" + nvm_update_symlink + ;; + "symlink" ) + [ $# -ne 2 ] && nvm help && return + # store as default symlink ment for the updating mechanism + echo $2 > $NVM_DIR/symlink + nvm_update_symlink ;; "copy-packages" ) if [ $# -ne 2 ]; then