diff --git a/.gitignore b/.gitignore index 56fd724..bddea4f 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,4 @@ test/bak node_modules/ .DS_Store - +current diff --git a/nvm.sh b/nvm.sh index 4d8b049..b0ff361 100644 --- a/nvm.sh +++ b/nvm.sh @@ -542,6 +542,7 @@ nvm() { export NODE_PATH export NVM_PATH="$NVM_DIR/$VERSION/lib/node" export NVM_BIN="$NVM_DIR/$VERSION/bin" + rm -f "$NVM_DIR/current" && ln -s "$NVM_DIR/$VERSION" "$NVM_DIR/current" echo "Now using node $VERSION" ;; "run" ) diff --git "a/test/fast/Running \"nvm use x\" should create and change the \"current\" symlink" "b/test/fast/Running \"nvm use x\" should create and change the \"current\" symlink" new file mode 100755 index 0000000..b2b979d --- /dev/null +++ "b/test/fast/Running \"nvm use x\" should create and change the \"current\" symlink" @@ -0,0 +1,30 @@ +#!/bin/bash + +. ../../nvm.sh + +rm -rf ../../v0.10.29 +mkdir ../../v0.10.29 +nvm use 0.10.29 + +if [ ! -L ../../current ];then + echo "Expected 'current' symlink to be created!" + exit 1 +fi + +oldLink="$(readlink ../../current)" + +if [ "$(basename $oldLink)" != 'v0.10.29' ];then + echo "Expected 'current' to point to v0.10.29 but was $oldLink" + exit 1 +fi + +rm -rf ../../v0.11.13 +mkdir ../../v0.11.13 +nvm use 0.11.13 + +newLink="$(readlink ../../current)" + +if [ "$(basename $newLink)" != 'v0.11.13' ];then + echo "Expected 'current' to point to v0.11.13 but was $newLink" + exit 1 +fi