From e5a27992ff05fd62afe273c558dc7898e6064f7c Mon Sep 17 00:00:00 2001 From: joeyvandijk Date: Wed, 6 Nov 2013 11:35:55 +0100 Subject: [PATCH 1/2] added symlink to a provided custom path for IDE/development references with the latest Node.JS version. --- nvm.sh | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/nvm.sh b/nvm.sh index 70f90da..d12e1f1 100755 --- a/nvm.sh +++ b/nvm.sh @@ -124,6 +124,13 @@ nvm_checksum() { fi } +nvm_update_symlink() { + # execute only when a symlink is defined + if [ -f $NVM_DIR/symlink ]; then + ln -s $(echo $NVM_DIR/v`cat $NVM_DIR/alias/default`) $(echo `cat $NVM_DIR/symlink`) + fi +} + print_versions() { local OUTPUT='' @@ -182,6 +189,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:" @@ -224,7 +232,7 @@ nvm() { fi if [ "$os" = "freebsd" ]; then - nobinary=1 + nobinary=1 fi VERSION=`nvm_remote_version $1` @@ -282,7 +290,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" @@ -466,6 +474,7 @@ nvm() { else echo "$2 -> $3" fi + nvm_update_symlink ;; "unalias" ) mkdir -p $NVM_DIR/alias @@ -473,6 +482,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 From f3103487b0c465f00702e136e599edbfe8eff0d4 Mon Sep 17 00:00:00 2001 From: joeyvandijk Date: Wed, 13 Nov 2013 08:39:01 +0100 Subject: [PATCH 2/2] fixed issue with correct overwriting symlink --- nvm.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nvm.sh b/nvm.sh index d12e1f1..cdb623e 100755 --- a/nvm.sh +++ b/nvm.sh @@ -127,7 +127,10 @@ nvm_checksum() { nvm_update_symlink() { # execute only when a symlink is defined if [ -f $NVM_DIR/symlink ]; then - ln -s $(echo $NVM_DIR/v`cat $NVM_DIR/alias/default`) $(echo `cat $NVM_DIR/symlink`) + 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 }