Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f1f3ed29c | ||
|
|
2116d2ff91 | ||
|
|
0b4c1e14cf | ||
|
|
e1b7496cf0 | ||
|
|
8a87133f71 | ||
|
|
0792945824 | ||
|
|
a6819b3018 | ||
|
|
3d3d9d3a8d | ||
|
|
3e74bac964 |
@@ -12,11 +12,11 @@ Note: `nvm` does not support Windows (see [#284](https://github.com/creationix/n
|
|||||||
|
|
||||||
To install you could use the [install script][2] using cURL:
|
To install you could use the [install script][2] using cURL:
|
||||||
|
|
||||||
curl https://raw.githubusercontent.com/creationix/nvm/v0.23.2/install.sh | bash
|
curl https://raw.githubusercontent.com/creationix/nvm/v0.23.3/install.sh | bash
|
||||||
|
|
||||||
or Wget:
|
or Wget:
|
||||||
|
|
||||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.23.2/install.sh | bash
|
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.23.3/install.sh | bash
|
||||||
|
|
||||||
<sub>The script clones the nvm repository to `~/.nvm` and adds the source line to your profile (`~/.bash_profile`, `~/.zshrc` or `~/.profile`).</sub>
|
<sub>The script clones the nvm repository to `~/.nvm` and adds the source line to your profile (`~/.bash_profile`, `~/.zshrc` or `~/.profile`).</sub>
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ In place of a version pointer like "0.10", you can use the special default alias
|
|||||||
nvm use stable
|
nvm use stable
|
||||||
nvm run unstable --version
|
nvm run unstable --version
|
||||||
|
|
||||||
If you want to install `io.js`:
|
If you want to install [io.js](https://github.com/iojs/io.js/):
|
||||||
|
|
||||||
nvm install iojs
|
nvm install iojs
|
||||||
|
|
||||||
@@ -202,7 +202,7 @@ After the v0.8.6 release of node, nvm tries to install from binary packages. But
|
|||||||
nvm install -s 0.8.6
|
nvm install -s 0.8.6
|
||||||
|
|
||||||
[1]: https://github.com/creationix/nvm.git
|
[1]: https://github.com/creationix/nvm.git
|
||||||
[2]: https://github.com/creationix/nvm/blob/v0.23.2/install.sh
|
[2]: https://github.com/creationix/nvm/blob/v0.23.3/install.sh
|
||||||
[3]: https://travis-ci.org/creationix/nvm
|
[3]: https://travis-ci.org/creationix/nvm
|
||||||
[Urchin]: https://github.com/scraperwiki/urchin
|
[Urchin]: https://github.com/scraperwiki/urchin
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ if [ -z "$NVM_DIR" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
nvm_latest_version() {
|
nvm_latest_version() {
|
||||||
echo "v0.23.2"
|
echo "v0.23.3"
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
45
nvm.sh
45
nvm.sh
@@ -263,6 +263,22 @@ $(nvm_ls_remote_iojs "$PATTERN")" | command grep -v "N/A" | command sed '/^$/d')
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_is_valid_version() {
|
||||||
|
if nvm_validate_implicit_alias "$1" 2> /dev/null; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
case "$1" in
|
||||||
|
"$(nvm_iojs_prefix)" | "$(nvm_node_prefix)")
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
local VERSION
|
||||||
|
VERSION="$(nvm_strip_iojs_prefix "$1")"
|
||||||
|
nvm_version_greater "$VERSION"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
nvm_normalize_version() {
|
nvm_normalize_version() {
|
||||||
echo "$1" | command sed -e 's/^v//' | command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
|
echo "$1" | command sed -e 's/^v//' | command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
|
||||||
}
|
}
|
||||||
@@ -469,6 +485,8 @@ nvm_ls() {
|
|||||||
if [ "_$(echo "$PATTERN" | cut -c1-1)" = "_v" ] && [ "_$(nvm_num_version_groups "$PATTERN")" = "_3" ]; then
|
if [ "_$(echo "$PATTERN" | cut -c1-1)" = "_v" ] && [ "_$(nvm_num_version_groups "$PATTERN")" = "_3" ]; then
|
||||||
if [ -d "$(nvm_version_path "$PATTERN")" ]; then
|
if [ -d "$(nvm_version_path "$PATTERN")" ]; then
|
||||||
VERSIONS="$PATTERN"
|
VERSIONS="$PATTERN"
|
||||||
|
elif [ -d "$(nvm_version_path "$(nvm_add_iojs_prefix "$PATTERN")")" ]; then
|
||||||
|
VERSIONS="$(nvm_add_iojs_prefix "$PATTERN")"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
case "$PATTERN" in
|
case "$PATTERN" in
|
||||||
@@ -523,6 +541,7 @@ nvm_ls() {
|
|||||||
fi
|
fi
|
||||||
VERSIONS="$(command find $NVM_DIRS_TO_SEARCH -maxdepth 1 -type d -name "$PATTERN*" \
|
VERSIONS="$(command find $NVM_DIRS_TO_SEARCH -maxdepth 1 -type d -name "$PATTERN*" \
|
||||||
| command sed "s#$(nvm_version_dir iojs)/#"$(nvm_iojs_prefix)"-#" \
|
| command sed "s#$(nvm_version_dir iojs)/#"$(nvm_iojs_prefix)"-#" \
|
||||||
|
| command grep -v "$(nvm_version_dir iojs)" \
|
||||||
| command sed "s#^$NVM_DIR/##" \
|
| command sed "s#^$NVM_DIR/##" \
|
||||||
| command grep -v -e '^versions$' \
|
| command grep -v -e '^versions$' \
|
||||||
| command sed 's#^versions/##' \
|
| command sed 's#^versions/##' \
|
||||||
@@ -602,9 +621,9 @@ nvm_ls_remote_iojs() {
|
|||||||
|
|
||||||
nvm_checksum() {
|
nvm_checksum() {
|
||||||
if nvm_has "sha1sum"; then
|
if nvm_has "sha1sum"; then
|
||||||
checksum="$(sha1sum "$1" | command awk '{print $1}')"
|
checksum="$(command sha1sum "$1" | command awk '{print $1}')"
|
||||||
elif nvm_has "sha1"; then
|
elif nvm_has "sha1"; then
|
||||||
checksum="$(sha1 -q "$1")"
|
checksum="$(command sha1 -q "$1")"
|
||||||
else
|
else
|
||||||
checksum="$(shasum "$1" | command awk '{print $1}')"
|
checksum="$(shasum "$1" | command awk '{print $1}')"
|
||||||
fi
|
fi
|
||||||
@@ -1081,8 +1100,8 @@ nvm() {
|
|||||||
VERSION="$(nvm_version "$PATTERN")"
|
VERSION="$(nvm_version "$PATTERN")"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
if [ "_$PATTERN" = "_$(nvm_ls_current)" ]; then
|
if [ "_$VERSION" = "_$(nvm_ls_current)" ]; then
|
||||||
if nvm_is_iojs_version "$PATTERN"; then
|
if nvm_is_iojs_version "$VERSION"; then
|
||||||
echo "nvm: Cannot uninstall currently-active io.js version, $VERSION (inferred from $PATTERN)." >&2
|
echo "nvm: Cannot uninstall currently-active io.js version, $VERSION (inferred from $PATTERN)." >&2
|
||||||
else
|
else
|
||||||
echo "nvm: Cannot uninstall currently-active node version, $VERSION (inferred from $PATTERN)." >&2
|
echo "nvm: Cannot uninstall currently-active node version, $VERSION (inferred from $PATTERN)." >&2
|
||||||
@@ -1253,7 +1272,7 @@ nvm() {
|
|||||||
provided_version=$1
|
provided_version=$1
|
||||||
if [ -n "$provided_version" ]; then
|
if [ -n "$provided_version" ]; then
|
||||||
VERSION="$(nvm_version "$provided_version")"
|
VERSION="$(nvm_version "$provided_version")"
|
||||||
if [ "_$VERSION" = "_N/A" ]; then
|
if [ "_$VERSION" = "_N/A" ] && ! nvm_is_valid_version "$provided_version"; then
|
||||||
provided_version=''
|
provided_version=''
|
||||||
if [ $has_checked_nvmrc -ne 1 ]; then
|
if [ $has_checked_nvmrc -ne 1 ]; then
|
||||||
nvm_rc_version && has_checked_nvmrc=1
|
nvm_rc_version && has_checked_nvmrc=1
|
||||||
@@ -1272,17 +1291,23 @@ nvm() {
|
|||||||
local ARGS
|
local ARGS
|
||||||
ARGS="$@"
|
ARGS="$@"
|
||||||
local OUTPUT
|
local OUTPUT
|
||||||
|
local EXIT_CODE
|
||||||
|
|
||||||
if [ "$NVM_IOJS" = true ]; then
|
if [ "_$VERSION" = "_N/A" ]; then
|
||||||
|
echo "$(nvm_ensure_version_prefix "$provided_version") is not installed yet" >&2
|
||||||
|
EXIT_CODE=1
|
||||||
|
elif [ "$NVM_IOJS" = true ]; then
|
||||||
echo "Running io.js $(nvm_strip_iojs_prefix "$VERSION")"
|
echo "Running io.js $(nvm_strip_iojs_prefix "$VERSION")"
|
||||||
OUTPUT="$(nvm use "$VERSION" >/dev/null && iojs "$ARGS")"
|
OUTPUT="$(nvm use "$VERSION" >/dev/null && iojs "$ARGS")"
|
||||||
|
EXIT_CODE="$?"
|
||||||
else
|
else
|
||||||
echo "Running node $VERSION"
|
echo "Running node $VERSION"
|
||||||
OUTPUT="$(nvm use "$VERSION" >/dev/null && node "$ARGS")"
|
OUTPUT="$(nvm use "$VERSION" >/dev/null && node "$ARGS")"
|
||||||
|
EXIT_CODE="$?"
|
||||||
|
fi
|
||||||
|
if [ -n "$OUTPUT" ]; then
|
||||||
|
echo "$OUTPUT"
|
||||||
fi
|
fi
|
||||||
local EXIT_CODE
|
|
||||||
EXIT_CODE="$?"
|
|
||||||
echo "$OUTPUT"
|
|
||||||
return $EXIT_CODE
|
return $EXIT_CODE
|
||||||
;;
|
;;
|
||||||
"exec" )
|
"exec" )
|
||||||
@@ -1502,7 +1527,7 @@ $NVM_LS_REMOTE_IOJS_OUTPUT" | command grep -v "N/A" | sed '/^$/d')"
|
|||||||
nvm_version $2
|
nvm_version $2
|
||||||
;;
|
;;
|
||||||
"--version" )
|
"--version" )
|
||||||
echo "0.23.2"
|
echo "0.23.3"
|
||||||
;;
|
;;
|
||||||
"unload" )
|
"unload" )
|
||||||
unset -f nvm nvm_print_versions nvm_checksum \
|
unset -f nvm nvm_print_versions nvm_checksum \
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nvm",
|
"name": "nvm",
|
||||||
"version": "0.23.2",
|
"version": "0.23.3",
|
||||||
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
||||||
"directories": {
|
"directories": {
|
||||||
"test": "test"
|
"test": "test"
|
||||||
|
|||||||
7
test/fast/Listing versions/Running "nvm ls io" should return NA
Executable file
7
test/fast/Listing versions/Running "nvm ls io" should return NA
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
nvm ls io
|
||||||
|
[ "$?" = "3" ]
|
||||||
|
|
||||||
13
test/fast/Unit tests/nvm_is_valid_version
Executable file
13
test/fast/Unit tests/nvm_is_valid_version
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
nvm_is_valid_version 0.1.2 || die "nvm_is_valid_version 0.1.2 did not return 0"
|
||||||
|
nvm_is_valid_version foo && die "nvm_is_valid_version foo did not return 1"
|
||||||
|
nvm_is_valid_version iojs-1 || die "nvm_is_valid_version iojs-1 did not return 0"
|
||||||
|
nvm_is_valid_version iojs || die "nvm_is_valid_version iojs did not return 0"
|
||||||
|
nvm_is_valid_version node || die "nvm_is_valid_version node did not return 0"
|
||||||
|
nvm_is_valid_version stable || die "nvm_is_valid_version stable did not return 0"
|
||||||
|
nvm_is_valid_version unstable || die "nvm_is_valid_version unstable did not return 0"
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
[ "$(nvm run 0.2 --version 2>&1)" = "v0.2 is not installed yet" ] || die "\`nvm run\` with an uninstalled node version failed to error out correctly"
|
||||||
|
[ "$(nvm run iojs-0.2 --version 2>&1)" = "iojs-v0.2 is not installed yet" ] || die "\`nvm run\` with an uninstalled iojs version failed to error out correctly"
|
||||||
14
test/slow/nvm use/Running "nvm use v1.0.0" uses iojs-v1.0.0 iojs version
Executable file
14
test/slow/nvm use/Running "nvm use v1.0.0" uses iojs-v1.0.0 iojs version
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
nvm deactivate 2>&1 >/dev/null || die 'deactivate failed'
|
||||||
|
|
||||||
|
nvm use 'v1.0.0' || die 'nvm use v1.0.0 failed'
|
||||||
|
OUTPUT="$(nvm current)"
|
||||||
|
EXPECTED_OUTPUT="$(nvm_version v1.0.0)"
|
||||||
|
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] \
|
||||||
|
|| die "'nvm use v1.0.0' + 'nvm current' did not output '$EXPECTED_OUTPUT'; got '$OUTPUT'"
|
||||||
Reference in New Issue
Block a user