mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-09-10 16:49:06 +00:00
Compare commits
8 Commits
travis_yml
...
v0.5.1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
222250f2d1 | ||
![]() |
77f4490391 | ||
![]() |
0871131dfd | ||
![]() |
e6bd207624 | ||
![]() |
bad79e6d77 | ||
![]() |
d07fa2db10 | ||
![]() |
20953ab04c | ||
![]() |
4cf940153c |
@@ -1,4 +1,4 @@
|
||||
# Node Version Manager [](https://travis-ci.org/creationix/nvm)
|
||||
# Node Version Manager [][3]
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -6,13 +6,13 @@ First you'll need to make sure your system has a c++ compiler. For OSX, XCode w
|
||||
|
||||
### Install script
|
||||
|
||||
To install you could use the [install script](https://github.com/creationix/nvm/blob/v0.4.0/install.sh) using cURL:
|
||||
To install you could use the [install script][2] using cURL:
|
||||
|
||||
curl https://raw.github.com/creationix/nvm/v0.4.0/install.sh | sh
|
||||
curl https://raw.github.com/creationix/nvm/v0.5.1/install.sh | sh
|
||||
|
||||
or Wget:
|
||||
|
||||
wget -qO- https://raw.github.com/creationix/nvm/v0.4.0/install.sh | sh
|
||||
wget -qO- https://raw.github.com/creationix/nvm/v0.5.1/install.sh | sh
|
||||
|
||||
<sub>The script clones the nvm repository to `~/.nvm` and adds the source line to your profile (`~/.bash_profile`, `~/.zshrc` or `~/.profile`).</sub>
|
||||
|
||||
@@ -90,7 +90,7 @@ The above copyright notice and this permission notice shall be included in all c
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
## Running tests
|
||||
Tests are written in [Urchin](https://github.com/scraperwiki/urchin). Install Urchin (and other dependencies) like so:
|
||||
Tests are written in [Urchin]. Install Urchin (and other dependencies) like so:
|
||||
|
||||
npm install
|
||||
|
||||
@@ -163,3 +163,8 @@ After the v0.8.6 release of node, nvm tries to install from binary packages. But
|
||||
|
||||
nvm install -s 0.8.6
|
||||
|
||||
[1]: https://github.com/creationix/nvm.git
|
||||
[2]: https://github.com/creationix/nvm/blob/v0.5.1/install.sh
|
||||
[3]: https://travis-ci.org/creationix/nvm
|
||||
[Urchin]: https://github.com/scraperwiki/urchin
|
||||
|
||||
|
9
nvm-exec
9
nvm-exec
@@ -4,12 +4,11 @@ DIR="$(command cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
source "$DIR/nvm.sh"
|
||||
|
||||
if [ ! "$NODE_VERSION" ]; then
|
||||
echo 'NODE_VERSION not set'
|
||||
exit 1
|
||||
if [ -n "$NODE_VERSION" ]; then
|
||||
nvm use $NODE_VERSION || (echo "NODE_VERSION not set" && exit 127)
|
||||
else
|
||||
nvm use || (echo "No .nvmrc file found" && exit 127)
|
||||
fi
|
||||
|
||||
nvm use $NODE_VERSION
|
||||
|
||||
exec $@
|
||||
|
||||
|
49
nvm.sh
49
nvm.sh
@@ -208,7 +208,7 @@ nvm() {
|
||||
echo " nvm install [-s] <version> Download and install a <version>, [-s] from source. Uses .nvmrc if available"
|
||||
echo " nvm uninstall <version> Uninstall a version"
|
||||
echo " nvm use <version> Modify PATH to use <version>. Uses .nvmrc if available"
|
||||
echo " nvm run <version> [<args>] Run <version> with <args> as arguments"
|
||||
echo " nvm run <version> [<args>] Run <version> with <args> as arguments. Uses .nvmrc if available for <version>"
|
||||
echo " nvm current Display currently activated version"
|
||||
echo " nvm ls List installed versions"
|
||||
echo " nvm ls <version> List versions matching a given description"
|
||||
@@ -422,7 +422,7 @@ nvm() {
|
||||
"use" )
|
||||
if [ $# -eq 0 ]; then
|
||||
nvm help
|
||||
return
|
||||
return 127
|
||||
fi
|
||||
if [ $# -eq 1 ]; then
|
||||
nvm_rc_version
|
||||
@@ -434,7 +434,7 @@ nvm() {
|
||||
fi
|
||||
if [ -z "$VERSION" ]; then
|
||||
nvm help
|
||||
return
|
||||
return 127
|
||||
fi
|
||||
if [ -z "$VERSION" ]; then
|
||||
VERSION=`nvm_version $2`
|
||||
@@ -471,20 +471,37 @@ nvm() {
|
||||
echo "Now using node $VERSION"
|
||||
;;
|
||||
"run" )
|
||||
local provided_version
|
||||
local has_checked_nvmrc=0
|
||||
# run given version of node
|
||||
if [ $# -lt 2 ]; then
|
||||
nvm_rc_version
|
||||
if [ -z "$NVM_RC_VERSION" ]; then
|
||||
shift
|
||||
if [ $# -lt 1 ]; then
|
||||
nvm_rc_version && has_checked_nvmrc=1
|
||||
if [ -n "$NVM_RC_VERSION" ]; then
|
||||
VERSION=`nvm_version $NVM_RC_VERSION`
|
||||
else
|
||||
VERSION='N/A'
|
||||
fi
|
||||
if [ $VERSION = "N/A" ]; then
|
||||
nvm help
|
||||
return
|
||||
return 127
|
||||
fi
|
||||
fi
|
||||
NVM_PROVIDED_VERSION=`nvm_version $2`
|
||||
if [ -z "$NVM_PROVIDED_VERSION" ]; then
|
||||
nvm_rc_version
|
||||
NVM_PROVIDED_VERSION="$NVM_RC_VERSION"
|
||||
|
||||
provided_version=$1
|
||||
if [ -n "$provided_version" ]; then
|
||||
VERSION=`nvm_version $provided_version`
|
||||
if [ $VERSION = "N/A" ]; then
|
||||
provided_version=''
|
||||
if [ $has_checked_nvmrc -ne 1 ]; then
|
||||
nvm_rc_version && has_checked_nvmrc=1
|
||||
fi
|
||||
VERSION=`nvm_version $NVM_RC_VERSION`
|
||||
else
|
||||
shift
|
||||
fi
|
||||
fi
|
||||
VERSION="$NVM_PROVIDED_VERSION"
|
||||
|
||||
if [ ! -d "$NVM_DIR/$VERSION" ]; then
|
||||
echo "$VERSION version is not installed yet"
|
||||
return;
|
||||
@@ -495,7 +512,7 @@ nvm() {
|
||||
RUN_NODE_PATH="$NVM_DIR/$VERSION/lib/node_modules:$NODE_PATH"
|
||||
fi
|
||||
echo "Running node $VERSION"
|
||||
NODE_PATH=$RUN_NODE_PATH $NVM_DIR/$VERSION/bin/node "${@:3}"
|
||||
NODE_PATH=$RUN_NODE_PATH $NVM_DIR/$VERSION/bin/node "$@"
|
||||
;;
|
||||
"ls" | "list" )
|
||||
nvm_print_versions "`nvm_ls $2`"
|
||||
@@ -547,7 +564,7 @@ nvm() {
|
||||
;;
|
||||
"unalias" )
|
||||
mkdir -p $NVM_DIR/alias
|
||||
[ $# -ne 2 ] && nvm help && return
|
||||
[ $# -ne 2 ] && nvm help && return 127
|
||||
[ ! -f "$NVM_DIR/alias/$2" ] && echo "Alias $2 doesn't exist!" && return
|
||||
rm -f $NVM_DIR/alias/$2
|
||||
echo "Deleted alias $2"
|
||||
@@ -555,7 +572,7 @@ nvm() {
|
||||
"copy-packages" )
|
||||
if [ $# -ne 2 ]; then
|
||||
nvm help
|
||||
return
|
||||
return 127
|
||||
fi
|
||||
VERSION=`nvm_version $2`
|
||||
local ROOT=`(nvm use $VERSION && npm -g root)`
|
||||
@@ -575,7 +592,7 @@ nvm() {
|
||||
nvm_version $2
|
||||
;;
|
||||
"--version" )
|
||||
echo "nvm v0.4.0"
|
||||
echo "nvm v0.5.1"
|
||||
;;
|
||||
* )
|
||||
nvm help
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nvm",
|
||||
"version": "0.4.0",
|
||||
"version": "0.5.1",
|
||||
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
||||
"directories": {
|
||||
"test": "test"
|
||||
|
@@ -4,21 +4,21 @@ set -e
|
||||
. ../../../nvm.sh
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../v0.10.7 ] && rm -R ../../../v0.10.7
|
||||
[ -e ../../../v0.10.8 ] && rm -R ../../../v0.10.8
|
||||
[ -e ../../../v0.9.7 ] && rm -R ../../../v0.9.7
|
||||
[ -e ../../../v0.9.12 ] && rm -R ../../../v0.9.12
|
||||
|
||||
# Install from binary
|
||||
nvm install 0.10.7
|
||||
nvm install 0.10.8
|
||||
nvm install 0.9.7
|
||||
nvm install 0.9.12
|
||||
|
||||
# Check
|
||||
[ -d ../../../v0.10.7 ]
|
||||
[ -d ../../../v0.10.8 ]
|
||||
[ -d ../../../v0.9.7 ]
|
||||
[ -d ../../../v0.9.12 ]
|
||||
|
||||
# Use the first one
|
||||
nvm use 0.10.7
|
||||
nvm use 0.9.7
|
||||
|
||||
# Use the latest one
|
||||
nvm use 0.10
|
||||
node --version | grep v0.10.8
|
||||
nvm use 0.9
|
||||
node --version | grep v0.9.12
|
||||
|
||||
|
9
test/slow/nvm run/Running "nvm run 0.x" should work
Executable file
9
test/slow/nvm run/Running "nvm run 0.x" should work
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "$(nvm run 0.10.7 --version | tail -1)" = "v0.10.7" ] || die "`nvm run` failed to run with the correct version"
|
||||
|
12
test/slow/nvm run/Running "nvm run" should pick up .nvmrc version
Executable file
12
test/slow/nvm run/Running "nvm run" should pick up .nvmrc version
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
echo "0.10.7" > .nvmrc
|
||||
[ "$(nvm run --version | tail -1)" = "v0.10.7" ] || die "`nvm run` failed to run with the .nvmrc version"
|
||||
|
||||
[ "$(nvm run --version | head -1)" = "Found .nvmrc files with version <0.10.7>" ] || die "`nvm run` failed to print out the \"found in .nvmrc\" message"
|
||||
|
9
test/slow/nvm run/setup_dir
Executable file
9
test/slow/nvm run/setup_dir
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
nvm install 0.10.7
|
||||
|
||||
if [ -f ".nvmrc" ]; then
|
||||
mv .nvmrc .nvmrc.bak
|
||||
fi
|
||||
|
11
test/slow/nvm run/teardown_dir
Executable file
11
test/slow/nvm run/teardown_dir
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
nvm uninstall v0.10.7
|
||||
|
||||
rm .nvmrc
|
||||
|
||||
if [ -f ".nvmrc.bak" ]; then
|
||||
mv .nvmrc.bak .nvmrc
|
||||
fi
|
||||
|
Reference in New Issue
Block a user