Compare commits
62 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
145da7eef8 | ||
|
|
4cf56ae186 | ||
|
|
5ad00f13fa | ||
|
|
53f9841c6c | ||
|
|
444efdb08b | ||
|
|
6fde379707 | ||
|
|
ce69c8413e | ||
|
|
51f6109f8d | ||
|
|
4f081ce4be | ||
|
|
db0051753a | ||
|
|
cf1110ecea | ||
|
|
34b97bf76d | ||
|
|
b962a590a2 | ||
|
|
ddb25ed5a3 | ||
|
|
486d14f5f8 | ||
|
|
622fdd2cd0 | ||
|
|
eddbe15ee8 | ||
|
|
2e161fe414 | ||
|
|
a42b90d215 | ||
|
|
6bae6c07f2 | ||
|
|
7fd6d05426 | ||
|
|
5ef092b2c8 | ||
|
|
cb6456fd85 | ||
|
|
991fb85047 | ||
|
|
edf36a8ea7 | ||
|
|
35466187f2 | ||
|
|
c992b1766c | ||
|
|
4b2bc0be08 | ||
|
|
15b3e7b6a8 | ||
|
|
8d05ab63f1 | ||
|
|
da693eaea1 | ||
|
|
5363ff8916 | ||
|
|
e186fa27a7 | ||
|
|
f6e0104685 | ||
|
|
97d4e2f88f | ||
|
|
e0a22ccf4a | ||
|
|
d5d66c34d9 | ||
|
|
152904e3fb | ||
|
|
64de890d07 | ||
|
|
a4da8a48ef | ||
|
|
354be52672 | ||
|
|
ad604cc068 | ||
|
|
ba08fa31d8 | ||
|
|
13aadbcf31 | ||
|
|
7bb6e9c915 | ||
|
|
3d3145f2e0 | ||
|
|
4c948cf422 | ||
|
|
f8054d5cae | ||
|
|
ad2713b13a | ||
|
|
243fc04164 | ||
|
|
a80f958a1e | ||
|
|
f6fef75f36 | ||
|
|
199ba53340 | ||
|
|
d1b6332bbe | ||
|
|
159d4c645e | ||
|
|
687df82107 | ||
|
|
ff1781b95d | ||
|
|
110e571c34 | ||
|
|
a7108e98f2 | ||
|
|
30b044a368 | ||
|
|
825cb46969 | ||
|
|
ab56ec6675 |
20
.travis.yml
20
.travis.yml
@@ -10,20 +10,22 @@ script:
|
||||
- NVM_DIR=$TRAVIS_BUILD_DIR make TEST_SUITE=$TEST_SUITE URCHIN=/tmp/urchin $SHELL
|
||||
env:
|
||||
- SHELL=sh TEST_SUITE=fast
|
||||
- SHELL=sh TEST_SUITE=fast WITHOUT_CURL=1
|
||||
- SHELL=dash TEST_SUITE=fast
|
||||
- SHELL=dash TEST_SUITE=fast WITHOUT_CURL=1
|
||||
- SHELL=bash TEST_SUITE=fast
|
||||
- SHELL=bash TEST_SUITE=fast WITHOUT_CURL=1
|
||||
- SHELL=zsh TEST_SUITE=fast
|
||||
- SHELL=zsh TEST_SUITE=fast WITHOUT_CURL=1
|
||||
- SHELL=ksh TEST_SUITE=fast
|
||||
- SHELL=ksh TEST_SUITE=fast WITHOUT_CURL=1
|
||||
- SHELL=sh TEST_SUITE=slow
|
||||
- SHELL=sh TEST_SUITE=slow WITHOUT_CURL=1
|
||||
- SHELL=dash TEST_SUITE=slow
|
||||
- SHELL=dash TEST_SUITE=slow WITHOUT_CURL=1
|
||||
- SHELL=bash TEST_SUITE=slow
|
||||
- SHELL=bash TEST_SUITE=slow WITHOUT_CURL=1
|
||||
- SHELL=zsh TEST_SUITE=slow
|
||||
- SHELL=zsh TEST_SUITE=slow WITHOUT_CURL=1
|
||||
- SHELL=ksh TEST_SUITE=slow
|
||||
- SHELL=sh TEST_SUITE=installation
|
||||
- SHELL=sh TEST_SUITE=installation WITHOUT_CURL=1
|
||||
- SHELL=dash TEST_SUITE=installation
|
||||
- SHELL=dash TEST_SUITE=installation WITHOUT_CURL=1
|
||||
- SHELL=bash TEST_SUITE=installation
|
||||
- SHELL=bash TEST_SUITE=installation WITHOUT_CURL=1
|
||||
- SHELL=zsh TEST_SUITE=installation
|
||||
- SHELL=zsh TEST_SUITE=installation WITHOUT_CURL=1
|
||||
- SHELL=ksh TEST_SUITE=installation
|
||||
- SHELL=ksh TEST_SUITE=installation WITHOUT_CURL=1
|
||||
|
||||
@@ -8,11 +8,11 @@ First you'll need to make sure your system has a c++ compiler. For OSX, XCode w
|
||||
|
||||
To install you could use the [install script][2] using cURL:
|
||||
|
||||
curl https://raw.githubusercontent.com/creationix/nvm/v0.15.0/install.sh | bash
|
||||
curl https://raw.githubusercontent.com/creationix/nvm/v0.17.1/install.sh | bash
|
||||
|
||||
or Wget:
|
||||
|
||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.15.0/install.sh | bash
|
||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.17.1/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>
|
||||
|
||||
@@ -24,9 +24,9 @@ You can customize the install source, directory and profile using the `NVM_SOURC
|
||||
|
||||
For manual install create a folder somewhere in your filesystem with the `nvm.sh` file inside it. I put mine in a folder called `nvm`.
|
||||
|
||||
Or if you have `git` installed, then just clone it:
|
||||
Or if you have `git` installed, then just clone it, and check out the latest version:
|
||||
|
||||
git clone https://github.com/creationix/nvm.git ~/.nvm
|
||||
git clone https://github.com/creationix/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
|
||||
|
||||
To activate nvm, you need to source it from your shell:
|
||||
|
||||
@@ -169,7 +169,7 @@ 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.15.0/install.sh
|
||||
[2]: https://github.com/creationix/nvm/blob/v0.17.1/install.sh
|
||||
[3]: https://travis-ci.org/creationix/nvm
|
||||
[Urchin]: https://github.com/scraperwiki/urchin
|
||||
|
||||
|
||||
18
install.sh
18
install.sh
@@ -44,12 +44,13 @@ install_nvm_from_git() {
|
||||
mkdir -p "$NVM_DIR"
|
||||
git clone "$NVM_SOURCE" "$NVM_DIR"
|
||||
fi
|
||||
cd $NVM_DIR && git checkout v0.15.0 && git branch -D master || true
|
||||
cd "$NVM_DIR" && git checkout v0.17.1 && git branch -D master >/dev/null 2>&1
|
||||
return
|
||||
}
|
||||
|
||||
install_nvm_as_script() {
|
||||
if [ -z "$NVM_SOURCE" ]; then
|
||||
NVM_SOURCE="https://raw.githubusercontent.com/creationix/nvm/v0.15.0/nvm.sh"
|
||||
NVM_SOURCE="https://raw.githubusercontent.com/creationix/nvm/v0.17.1/nvm.sh"
|
||||
fi
|
||||
|
||||
# Downloading to $NVM_DIR
|
||||
@@ -75,28 +76,27 @@ if [ -z "$METHOD" ]; then
|
||||
echo >&2 "You need git, curl, or wget to install nvm"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
if [ "$METHOD" = "git" ]; then
|
||||
elif [ "~$METHOD" = "~git" ]; then
|
||||
if ! nvm_has "git"; then
|
||||
echo >&2 "You need git to install nvm"
|
||||
exit 1
|
||||
fi
|
||||
install_nvm_from_git
|
||||
fi
|
||||
if [ "$METHOD" = "script" ]; then
|
||||
elif [ "~$METHOD" = "~script" ]; then
|
||||
if ! nvm_has "nvm_download"; then
|
||||
echo >&2 "You need curl or wget to install nvm"
|
||||
exit 1
|
||||
fi
|
||||
install_nvm_as_script
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
|
||||
# Detect profile file if not specified as environment variable (eg: PROFILE=~/.myprofile).
|
||||
if [ -z "$PROFILE" ]; then
|
||||
if [ -f "$HOME/.bash_profile" ]; then
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
PROFILE="$HOME/.bashrc"
|
||||
elif [ -f "$HOME/.bash_profile" ]; then
|
||||
PROFILE="$HOME/.bash_profile"
|
||||
elif [ -f "$HOME/.zshrc" ]; then
|
||||
PROFILE="$HOME/.zshrc"
|
||||
@@ -109,7 +109,7 @@ SOURCE_STR="\nexport NVM_DIR=\"$NVM_DIR\"\n[ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$
|
||||
|
||||
if [ -z "$PROFILE" ] || [ ! -f "$PROFILE" ] ; then
|
||||
if [ -z "$PROFILE" ]; then
|
||||
echo "=> Profile not found. Tried ~/.bash_profile, ~/.zshrc, and ~/.profile."
|
||||
echo "=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile."
|
||||
echo "=> Create one of them and run this script again"
|
||||
else
|
||||
echo "=> Profile $PROFILE not found"
|
||||
|
||||
213
nvm.sh
213
nvm.sh
@@ -98,17 +98,28 @@ nvm_rc_version() {
|
||||
if [ -e "$NVMRC_PATH" ]; then
|
||||
read NVM_RC_VERSION < "$NVMRC_PATH"
|
||||
echo "Found '$NVMRC_PATH' with version <$NVM_RC_VERSION>"
|
||||
else
|
||||
>&2 echo "No .nvmrc file found"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
nvm_version_greater() {
|
||||
local LHS
|
||||
LHS=$(echo "$1" | awk -F. '{for (i=1;i<=NF;++i) printf "%010d",$i}')
|
||||
LHS=$(nvm_normalize_version "$1")
|
||||
local RHS
|
||||
RHS=$(echo "$2" | awk -F. '{for (i=1;i<=NF;++i) printf "%010d",$i}')
|
||||
RHS=$(nvm_normalize_version "$2")
|
||||
[ $LHS -gt $RHS ];
|
||||
}
|
||||
|
||||
nvm_version_greater_than_or_equal_to() {
|
||||
local LHS
|
||||
LHS=$(nvm_normalize_version "$1")
|
||||
local RHS
|
||||
RHS=$(nvm_normalize_version "$2")
|
||||
[ $LHS -ge $RHS ];
|
||||
}
|
||||
|
||||
nvm_version_dir() {
|
||||
local NVM_USE_NEW_DIR
|
||||
NVM_USE_NEW_DIR="$1"
|
||||
@@ -150,7 +161,7 @@ nvm_version() {
|
||||
return $?
|
||||
fi
|
||||
|
||||
VERSION=`nvm_ls $PATTERN | tail -n1`
|
||||
VERSION="$(nvm_ls "$PATTERN" | tail -n1)"
|
||||
echo "$VERSION"
|
||||
|
||||
if [ "$VERSION" = 'N/A' ]; then
|
||||
@@ -160,24 +171,38 @@ nvm_version() {
|
||||
|
||||
nvm_remote_version() {
|
||||
local PATTERN
|
||||
PATTERN=$1
|
||||
PATTERN="$1"
|
||||
local VERSION
|
||||
VERSION=`nvm_ls_remote $PATTERN | tail -n1`
|
||||
VERSION="$(nvm_ls_remote "$PATTERN" | tail -n1)"
|
||||
echo "$VERSION"
|
||||
|
||||
if [ "$VERSION" = 'N/A' ]; then
|
||||
if [ "_$VERSION" = '_N/A' ]; then
|
||||
return 3
|
||||
fi
|
||||
}
|
||||
|
||||
nvm_normalize_version() {
|
||||
echo "$1" | sed -e 's/^v//' | \awk -F. '{ printf("%d%03d%03d\n", $1,$2,$3); }'
|
||||
echo "$1" | sed -e 's/^v//' | \awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
|
||||
}
|
||||
|
||||
nvm_format_version() {
|
||||
echo "$1" | sed -e 's/^\([0-9]\)/v\1/g'
|
||||
}
|
||||
|
||||
nvm_num_version_groups() {
|
||||
local VERSION
|
||||
VERSION="$1"
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "0"
|
||||
return
|
||||
fi
|
||||
local NVM_NUM_DOTS
|
||||
NVM_NUM_DOTS=$(echo "$VERSION" | sed -e 's/^v//' | sed -e 's/\.$//' | sed -e 's/[^\.]//g')
|
||||
local NVM_NUM_GROUPS
|
||||
NVM_NUM_GROUPS=".$NVM_NUM_DOTS"
|
||||
echo "${#NVM_NUM_GROUPS}"
|
||||
}
|
||||
|
||||
nvm_strip_path() {
|
||||
echo "$1" | sed -e "s#$NVM_DIR/[^/]*$2[^:]*:##g" -e "s#:$NVM_DIR/[^/]*$2[^:]*##g" -e "s#$NVM_DIR/[^/]*$2[^:]*##g"
|
||||
}
|
||||
@@ -192,11 +217,9 @@ nvm_prepend_path() {
|
||||
|
||||
nvm_binary_available() {
|
||||
# binaries started with node 0.8.6
|
||||
local MINIMAL
|
||||
MINIMAL="0.8.6"
|
||||
local VERSION
|
||||
VERSION=$1
|
||||
[ $(nvm_normalize_version $VERSION) -ge $(nvm_normalize_version $MINIMAL) ]
|
||||
local FIRST_VERSION_WITH_BINARY
|
||||
FIRST_VERSION_WITH_BINARY="0.8.6"
|
||||
nvm_version_greater_than_or_equal_to "$1" "$FIRST_VERSION_WITH_BINARY"
|
||||
}
|
||||
|
||||
nvm_ls_current() {
|
||||
@@ -228,18 +251,22 @@ nvm_ls() {
|
||||
fi
|
||||
|
||||
if [ -f "$NVM_DIR/alias/$PATTERN" ]; then
|
||||
nvm_version `cat $NVM_DIR/alias/$PATTERN`
|
||||
nvm_version "$(cat "$NVM_DIR/alias/$PATTERN")"
|
||||
return
|
||||
fi
|
||||
# If it looks like an explicit version, don't do anything funny
|
||||
if [ `expr "$PATTERN" : "v[0-9]*\.[0-9]*\.[0-9]*$"` != 0 ]; then
|
||||
if [ "_$(echo "$PATTERN" | cut -c1-1)" = "_v" ] && [ "_$(nvm_num_version_groups "$PATTERN")" = "_3" ]; then
|
||||
if [ -d "$(nvm_version_path "$PATTERN")" ]; then
|
||||
VERSIONS="$PATTERN"
|
||||
fi
|
||||
else
|
||||
PATTERN=$(nvm_format_version $PATTERN)
|
||||
if [ `expr "$PATTERN" : "v[0-9]*\.[0-9]*$"` != 0 ]; then
|
||||
PATTERN="$PATTERN."
|
||||
if [ "_$PATTERN" != "_system" ]; then
|
||||
local NUM_VERSION_GROUPS
|
||||
NUM_VERSION_GROUPS="$(nvm_num_version_groups "$PATTERN")"
|
||||
if [ "_$NUM_VERSION_GROUPS" = "_2" ] || [ "_$NUM_VERSION_GROUPS" = "_1" ]; then
|
||||
PATTERN="$(echo "$PATTERN" | sed -e 's/\.*$//g')."
|
||||
fi
|
||||
fi
|
||||
if [ -d "$(nvm_version_dir new)" ]; then
|
||||
VERSIONS=`find "$(nvm_version_dir new)/" "$(nvm_version_dir old)/" -maxdepth 1 -type d -name "$PATTERN*" -exec basename '{}' ';' \
|
||||
@@ -249,13 +276,20 @@ nvm_ls() {
|
||||
| sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n | \grep -v '^ *\.' | \grep -e '^v'`
|
||||
fi
|
||||
fi
|
||||
|
||||
if nvm_has_system_node; then
|
||||
if [ -z "$PATTERN" ]; then
|
||||
VERSIONS="$VERSIONS$(printf '\n%s' 'system')"
|
||||
elif [ "$PATTERN" = 'system' ]; then
|
||||
VERSIONS="$(printf '%s' 'system')"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$VERSIONS" ]; then
|
||||
echo "N/A"
|
||||
return 3
|
||||
fi
|
||||
if [ -z "$PATTERN" ] && nvm_has_system_node; then
|
||||
VERSIONS="$VERSIONS$(printf '\n%s' 'system')"
|
||||
fi
|
||||
|
||||
echo "$VERSIONS"
|
||||
return
|
||||
}
|
||||
@@ -267,7 +301,7 @@ nvm_ls_remote() {
|
||||
local GREP_OPTIONS
|
||||
GREP_OPTIONS=''
|
||||
if [ -n "$PATTERN" ]; then
|
||||
PATTERN=`nvm_format_version "$PATTERN"`
|
||||
PATTERN="$(nvm_format_version "$PATTERN")"
|
||||
else
|
||||
PATTERN=".*"
|
||||
fi
|
||||
@@ -285,14 +319,14 @@ nvm_ls_remote() {
|
||||
|
||||
nvm_checksum() {
|
||||
if nvm_has "sha1sum"; then
|
||||
checksum=$(sha1sum $1 | \awk '{print $1}')
|
||||
checksum="$(sha1sum "$1" | \awk '{print $1}')"
|
||||
elif nvm_has "sha1"; then
|
||||
checksum=$(sha1 -q $1)
|
||||
checksum="$(sha1 -q "$1")"
|
||||
else
|
||||
checksum=$(shasum $1 | \awk '{print $1}')
|
||||
checksum="$(shasum "$1" | \awk '{print $1}')"
|
||||
fi
|
||||
|
||||
if [ "$checksum" = "$2" ]; then
|
||||
if [ "_$checksum" = "_$2" ]; then
|
||||
return
|
||||
elif [ -z "$2" ]; then
|
||||
echo 'Checksums empty' #missing in raspberry pi binary
|
||||
@@ -426,28 +460,45 @@ nvm() {
|
||||
fi
|
||||
|
||||
provided_version=$1
|
||||
|
||||
if [ -z "$provided_version" ]; then
|
||||
if [ $version_not_provided -ne 1 ]; then
|
||||
nvm_rc_version
|
||||
fi
|
||||
provided_version="$NVM_RC_VERSION"
|
||||
fi
|
||||
[ -d "$(nvm_version_path "$provided_version")" ] && echo "$provided_version is already installed." >&2 && return
|
||||
|
||||
VERSION=`nvm_remote_version $provided_version`
|
||||
ADDITIONAL_PARAMETERS=''
|
||||
|
||||
else
|
||||
shift
|
||||
fi
|
||||
|
||||
VERSION="$(nvm_remote_version "$provided_version")"
|
||||
ADDITIONAL_PARAMETERS=''
|
||||
local PROVIDED_COPY_PACKAGES_FROM
|
||||
local COPY_PACKAGES_FROM
|
||||
|
||||
while [ $# -ne 0 ]
|
||||
do
|
||||
if [ "_$(echo "$1" | cut -c 1-21)" = "_--copy-packages-from=" ]; then
|
||||
PROVIDED_COPY_PACKAGES_FROM="$(echo "$1" | cut -c 22-)"
|
||||
COPY_PACKAGES_FROM="$(nvm_version "$PROVIDED_COPY_PACKAGES_FROM")"
|
||||
else
|
||||
ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "_$(nvm_format_version "$PROVIDED_COPY_PACKAGES_FROM")" = "_$VERSION" ]; then
|
||||
echo "You can't copy global packages from the same version of node you're installing." >&2
|
||||
return 4
|
||||
elif [ ! -z "$PROVIDED_COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" = "_N/A" ]; then
|
||||
echo "If --copy-packages-from is provided, it must point to an installed version of node." >&2
|
||||
return 5
|
||||
fi
|
||||
|
||||
if [ -d "$(nvm_version_path "$VERSION")" ]; then
|
||||
echo "$VERSION is already installed." >&2
|
||||
nvm use "$VERSION"
|
||||
if nvm use "$VERSION" && [ ! -z "$COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" != "_N/A" ]; then
|
||||
nvm copy-packages "$COPY_PACKAGES_FROM"
|
||||
fi
|
||||
return $?
|
||||
fi
|
||||
|
||||
@@ -477,7 +528,9 @@ nvm() {
|
||||
mv "$tmpdir" "$(nvm_version_path "$VERSION")"
|
||||
)
|
||||
then
|
||||
nvm use $VERSION
|
||||
if nvm use "$VERSION" && [ ! -z "$COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" != "_N/A" ]; then
|
||||
nvm copy-packages "$COPY_PACKAGES_FROM"
|
||||
fi
|
||||
return $?
|
||||
else
|
||||
echo "Binary download failed, trying source." >&2
|
||||
@@ -487,7 +540,9 @@ nvm() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$ADDITIONAL_PARAMETERS" ]; then
|
||||
echo "Additional options while compiling: $ADDITIONAL_PARAMETERS"
|
||||
fi
|
||||
|
||||
tarball=''
|
||||
sum=''
|
||||
@@ -519,13 +574,15 @@ nvm() {
|
||||
$make $MAKE_CXX install
|
||||
)
|
||||
then
|
||||
nvm use $VERSION
|
||||
if nvm use "$VERSION" && [ ! -z "$COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" != "_N/A" ]; then
|
||||
nvm copy-packages "$COPY_PACKAGES_FROM"
|
||||
fi
|
||||
if ! nvm_has "npm" ; then
|
||||
echo "Installing npm..."
|
||||
if [ "`expr "$VERSION" : '\(^v0\.1\.\)'`" != '' ]; then
|
||||
if nvm_version_greater 0.2.0 "$VERSION"; then
|
||||
echo "npm requires node v0.2.3 or higher" >&2
|
||||
elif [ "`expr "$VERSION" : '\(^v0\.2\.\)'`" != '' ]; then
|
||||
if [ "`expr "$VERSION" : '\(^v0\.2\.[0-2]$\)'`" != '' ]; then
|
||||
elif nvm_version_greater_than_or_equal_to "$VERSION" 0.2.0; then
|
||||
if nvm_version_greater 0.2.3 "$VERSION"; then
|
||||
echo "npm requires node v0.2.3 or higher" >&2
|
||||
else
|
||||
nvm_download https://npmjs.org/install.sh -o - | clean=yes npm_install=0.2.19 sh
|
||||
@@ -538,6 +595,8 @@ nvm() {
|
||||
echo "nvm: install $VERSION failed!" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
return $?
|
||||
;;
|
||||
"uninstall" )
|
||||
[ $# -ne 2 ] && nvm help && return
|
||||
@@ -570,24 +629,30 @@ nvm() {
|
||||
|
||||
;;
|
||||
"deactivate" )
|
||||
if [ `expr "$PATH" : ".*$NVM_DIR/.*/bin.*"` != 0 ] ; then
|
||||
export PATH=`nvm_strip_path "$PATH" "/bin"`
|
||||
local NEWPATH
|
||||
NEWPATH="$(nvm_strip_path "$PATH" "/bin")"
|
||||
if [ "$PATH" = "$NEWPATH" ]; then
|
||||
echo "Could not find $NVM_DIR/*/bin in \$PATH" >&2
|
||||
else
|
||||
export PATH="$NEWPATH"
|
||||
hash -r
|
||||
echo "$NVM_DIR/*/bin removed from \$PATH"
|
||||
else
|
||||
echo "Could not find $NVM_DIR/*/bin in \$PATH" >&2
|
||||
fi
|
||||
if [ `expr "$MANPATH" : ".*$NVM_DIR/.*/share/man.*"` != 0 ] ; then
|
||||
export MANPATH=`nvm_strip_path "$MANPATH" "/share/man"`
|
||||
echo "$NVM_DIR/*/share/man removed from \$MANPATH"
|
||||
else
|
||||
|
||||
NEWPATH="$(nvm_strip_path "$MANPATH" "/share/man")"
|
||||
if [ "$MANPATH" = "$NEWPATH" ]; then
|
||||
echo "Could not find $NVM_DIR/*/share/man in \$MANPATH" >&2
|
||||
fi
|
||||
if [ `expr "$NODE_PATH" : ".*$NVM_DIR/.*/lib/node_modules.*"` != 0 ] ; then
|
||||
export NODE_PATH=`nvm_strip_path "$NODE_PATH" "/lib/node_modules"`
|
||||
echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
|
||||
else
|
||||
export MANPATH="$NEWPATH"
|
||||
echo "$NVM_DIR/*/share/man removed from \$MANPATH"
|
||||
fi
|
||||
|
||||
NEWPATH="$(nvm_strip_path "$NODE_PATH" "/lib/node_modules")"
|
||||
if [ "$NODE_PATH" = "$NEWPATH" ]; then
|
||||
echo "Could not find $NVM_DIR/*/lib/node_modules in \$NODE_PATH" >&2
|
||||
else
|
||||
export NODE_PATH="$NEWPATH"
|
||||
echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
|
||||
fi
|
||||
;;
|
||||
"use" )
|
||||
@@ -740,34 +805,33 @@ nvm() {
|
||||
nvm_version current
|
||||
;;
|
||||
"alias" )
|
||||
mkdir -p $NVM_DIR/alias
|
||||
mkdir -p "$NVM_DIR/alias"
|
||||
if [ $# -le 2 ]; then
|
||||
local DEST
|
||||
for ALIAS in $NVM_DIR/alias/$2*; do
|
||||
for ALIAS in "$NVM_DIR"/alias/"$2"*; do
|
||||
if [ -e "$ALIAS" ]; then
|
||||
DEST=`cat $ALIAS`
|
||||
VERSION=`nvm_version $DEST`
|
||||
if [ "$DEST" = "$VERSION" ]; then
|
||||
echo "$(basename $ALIAS) -> $DEST"
|
||||
DEST="$(cat "$ALIAS")"
|
||||
VERSION="$(nvm_version "$DEST")"
|
||||
if [ "_$DEST" = "_$VERSION" ]; then
|
||||
echo "$(basename "$ALIAS") -> $DEST"
|
||||
else
|
||||
echo "$(basename $ALIAS) -> $DEST (-> $VERSION)"
|
||||
echo "$(basename "$ALIAS") -> $DEST (-> $VERSION)"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
return
|
||||
fi
|
||||
if [ -z "$3" ]; then
|
||||
rm -f $NVM_DIR/alias/$2
|
||||
rm -f "$NVM_DIR/alias/$2"
|
||||
echo "$2 -> *poof*"
|
||||
return
|
||||
fi
|
||||
mkdir -p $NVM_DIR/alias
|
||||
VERSION=`nvm_version $3`
|
||||
VERSION="$(nvm_version "$3")"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "! WARNING: Version '$3' does not exist." >&2
|
||||
fi
|
||||
echo $3 > "$NVM_DIR/alias/$2"
|
||||
if [ ! "$3" = "$VERSION" ]; then
|
||||
if [ ! "_$3" = "_$VERSION" ]; then
|
||||
echo "$2 -> $3 (-> $VERSION)"
|
||||
else
|
||||
echo "$2 -> $3"
|
||||
@@ -785,12 +849,29 @@ nvm() {
|
||||
nvm help
|
||||
return 127
|
||||
fi
|
||||
VERSION="$(nvm_version "$2")"
|
||||
|
||||
# declare local INSTALLS first, otherwise it doesn't work in zsh
|
||||
local PROVIDED_VERSION
|
||||
PROVIDED_VERSION="$2"
|
||||
|
||||
if [ "$PROVIDED_VERSION" = "$(nvm_ls_current)" ] || [ "$(nvm_version $PROVIDED_VERSION)" = "$(nvm_ls_current)" ]; then
|
||||
echo 'Can not copy packages from the current version of node.' >&2
|
||||
return 2
|
||||
fi
|
||||
|
||||
local INSTALLS
|
||||
if [ "$PROVIDED_VERSION" = "system" ]; then
|
||||
if ! nvm_has_system_node; then
|
||||
echo 'No system version of node detected.' >&2
|
||||
return 3
|
||||
fi
|
||||
INSTALLS=$(nvm deactivate > /dev/null && npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | xargs)
|
||||
else
|
||||
local VERSION
|
||||
VERSION="$(nvm_version "$PROVIDED_VERSION")"
|
||||
INSTALLS=$(nvm use "$VERSION" > /dev/null && npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | xargs)
|
||||
fi
|
||||
|
||||
echo "Copying global packages from $VERSION..."
|
||||
echo "$INSTALLS" | xargs npm install -g --quiet
|
||||
;;
|
||||
"clear-cache" )
|
||||
@@ -801,10 +882,10 @@ nvm() {
|
||||
nvm_version $2
|
||||
;;
|
||||
"--version" )
|
||||
echo "0.15.0"
|
||||
echo "0.17.1"
|
||||
;;
|
||||
"unload" )
|
||||
unset -f nvm nvm_print_versions nvm_checksum nvm_ls_remote nvm_ls nvm_remote_version nvm_version nvm_rc_version nvm_version_greater > /dev/null 2>&1
|
||||
unset -f nvm nvm_print_versions nvm_checksum nvm_ls_remote nvm_ls nvm_remote_version nvm_version nvm_rc_version nvm_version_greater nvm_version_greater_than_or_equal_to > /dev/null 2>&1
|
||||
unset RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_DIR NVM_CD_FLAGS > /dev/null 2>&1
|
||||
;;
|
||||
* )
|
||||
@@ -813,5 +894,9 @@ nvm() {
|
||||
esac
|
||||
}
|
||||
|
||||
nvm ls default >/dev/null && nvm use default >/dev/null || true
|
||||
if nvm ls default >/dev/null; then
|
||||
nvm use default >/dev/null
|
||||
elif nvm_rc_version >/dev/null 2>&1; then
|
||||
nvm use >/dev/null
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nvm",
|
||||
"version": "0.15.0",
|
||||
"version": "0.17.1",
|
||||
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
||||
"directories": {
|
||||
"test": "test"
|
||||
@@ -8,7 +8,8 @@
|
||||
"scripts": {
|
||||
"test": "urchin test",
|
||||
"test/fast": "urchin -f test/fast",
|
||||
"test/slow": "urchin -f test/slow"
|
||||
"test/slow": "urchin -f test/slow",
|
||||
"test/installation": "urchin -f test/installation"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
mkdir -p ../../../v0.0.1
|
||||
mkdir -p ../../../v0.0.3
|
||||
mkdir -p ../../../v0.0.9
|
||||
mkdir -p ../../../v0.3.1
|
||||
mkdir -p ../../../v0.3.3
|
||||
mkdir -p ../../../v0.3.9
|
||||
|
||||
nvm_has_system_node() { return 0; }
|
||||
nvm ls system | grep system 2>&1 > /dev/null
|
||||
[ $? -eq 0 ] || die '"nvm ls system" did not contain "system" when system node is present'
|
||||
|
||||
nvm_has_system_node() { return 1; }
|
||||
nvm ls system | grep system 2>&1 > /dev/null
|
||||
[ $? -ne 0 ] || die '"nvm ls system" contained "system" when system node is not present'
|
||||
|
||||
@@ -2,13 +2,10 @@
|
||||
|
||||
mkdir ../../../v0.1.3
|
||||
mkdir ../../../v0.2.3
|
||||
mkdir ../../../versions
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
mkdir ../../../versions
|
||||
|
||||
[ -z "$(nvm ls | \grep 'versions')" ]
|
||||
# The result should contain only the appropriate version numbers.
|
||||
|
||||
rmdir ../../../versions
|
||||
|
||||
|
||||
@@ -6,6 +6,6 @@ mkdir ../../../v0.1.2
|
||||
|
||||
nvm ls v0.1 | grep v0.1.2 &&
|
||||
nvm ls v0.1.2 | grep v0.1.2 &&
|
||||
nvm ls v0.1. | grep N/A &&
|
||||
nvm ls v0.1. | grep v0.1.2 &&
|
||||
nvm ls v0.1.1 | grep N/A
|
||||
|
||||
|
||||
22
test/fast/Listing versions/teardown
Normal file → Executable file
22
test/fast/Listing versions/teardown
Normal file → Executable file
@@ -1,12 +1,12 @@
|
||||
rmdir ../../../v0.0.1
|
||||
rmdir ../../../v0.0.3
|
||||
rmdir ../../../v0.0.9
|
||||
rmdir ../../../v0.1.2
|
||||
rmdir ../../../v0.1.3
|
||||
rmdir ../../../v0.2.3
|
||||
rmdir ../../../v0.3.1
|
||||
rmdir ../../../v0.3.3
|
||||
rmdir ../../../v0.3.9
|
||||
rmdir ../../../versions
|
||||
unalias nvm_has_system_node
|
||||
rmdir ../../../v0.0.1 >/dev/null 2>&1
|
||||
rmdir ../../../v0.0.3 >/dev/null 2>&1
|
||||
rmdir ../../../v0.0.9 >/dev/null 2>&1
|
||||
rmdir ../../../v0.1.2 >/dev/null 2>&1
|
||||
rmdir ../../../v0.1.3 >/dev/null 2>&1
|
||||
rmdir ../../../v0.2.3 >/dev/null 2>&1
|
||||
rmdir ../../../v0.3.1 >/dev/null 2>&1
|
||||
rmdir ../../../v0.3.3 >/dev/null 2>&1
|
||||
rmdir ../../../v0.3.9 >/dev/null 2>&1
|
||||
rmdir ../../../versions >/dev/null 2>&1
|
||||
unalias nvm_has_system_node >/dev/null 2>&1
|
||||
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
cleanup () {
|
||||
rm -rf ../../v0.10.4
|
||||
}
|
||||
|
||||
mkdir ../../v0.10.4
|
||||
|
||||
. ../../nvm.sh
|
||||
|
||||
nvm deactivate >/dev/null 2>&1
|
||||
|
||||
INSTALL_ERROR_MSG="$(nvm install v0.10.5 --copy-packages-from=0.11 2>&1)"
|
||||
EXPECTED_ERROR_MSG="If --copy-packages-from is provided, it must point to an installed version of node."
|
||||
[ "~$INSTALL_ERROR_MSG" = "~$EXPECTED_ERROR_MSG" ] \
|
||||
|| die ""nvm install --copy-packages" should fail when given an uninstalled version: expected '$EXPECTED_ERROR_MSG', got '$INSTALL_ERROR_MSG'"
|
||||
|
||||
INSTALL_EXIT_CODE="$(nvm install v0.10.5 --copy-packages-from=0.11 >/dev/null 2>&1; echo $?)"
|
||||
[ "~$INSTALL_EXIT_CODE" = "~5" ] \
|
||||
|| die ""nvm install --copy-packages" should exit with code 5 when given an uninstalled version, got $INSTALL_EXIT_CODE"
|
||||
|
||||
INSTALL_ERROR_MSG="$(nvm install v0.10.5 --copy-packages-from=0.10.5 2>&1)"
|
||||
EXPECTED_ERROR_MSG="You can't copy global packages from the same version of node you're installing."
|
||||
[ "~$INSTALL_ERROR_MSG" = "~$EXPECTED_ERROR_MSG" ] \
|
||||
|| die ""nvm install --copy-packages" should fail when given the same version: expected '$EXPECTED_ERROR_MSG', got '$INSTALL_ERROR_MSG'"
|
||||
|
||||
INSTALL_EXIT_CODE="$(nvm install v0.10.5 --copy-packages-from=0.10.5 >/dev/null 2>&1; echo $?)"
|
||||
[ "~$INSTALL_EXIT_CODE" = "~4" ] \
|
||||
|| die ""nvm install --copy-packages" should exit with code 4 when given the same version, got $INSTALL_EXIT_CODE"
|
||||
|
||||
@@ -34,7 +34,7 @@ function cleanup() {
|
||||
|
||||
function runNvmUse() {
|
||||
mkdir ../../${TEST_NODE_VERSION}
|
||||
nvm use ${TEST_NODE_VERSION} &> /dev/null
|
||||
nvm use ${TEST_NODE_VERSION} > /dev/null 2>&1
|
||||
rmdir ../../${TEST_NODE_VERSION}
|
||||
}
|
||||
|
||||
|
||||
26
test/fast/Unit tests/nvm_find_up
Executable file
26
test/fast/Unit tests/nvm_find_up
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
setup() {
|
||||
cleanup
|
||||
mkdir -p tmp_nvm_find_up/a/b/c/d
|
||||
touch tmp_nvm_find_up/test
|
||||
touch tmp_nvm_find_up/a/b/c/test
|
||||
}
|
||||
cleanup () {
|
||||
rm -rf tmp_nvm_find_up
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
setup
|
||||
|
||||
TEST_DIR="$PWD"
|
||||
|
||||
[ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up" ] || die "failed to find 1 dir up"
|
||||
[ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a/b nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up" ] || die "failed to find 2 dirs up"
|
||||
[ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a/b/c nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up/a/b/c" ] || die "failed to find in current dir"
|
||||
[ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a/b/c/d nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up/a/b/c" ] || die "failed to find 1 level up from current dir"
|
||||
|
||||
cleanup
|
||||
|
||||
12
test/fast/Unit tests/nvm_has
Executable file
12
test/fast/Unit tests/nvm_has
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm_has cat && type cat > /dev/null || die 'nvm_has locates "cat" properly'
|
||||
|
||||
[ "~$(nvm_has foobarbaz 2>&1)" = "~" ] || die "nvm_has does not suppress error output"
|
||||
|
||||
! nvm_has foobarbaz && ! type foobarbaz >/dev/null 2>&1 || die "nvm_has does not return a nonzero exit code when not found"
|
||||
|
||||
@@ -6,7 +6,7 @@ die () { echo $@ ; exit 1; }
|
||||
|
||||
return_zero () { return 0; }
|
||||
|
||||
[ "$( (nvm deactivate > /dev/null 2>&1) && nvm_ls_current)" = "system" ] || die 'when deactivated, did not return "system"'
|
||||
[ "$(nvm deactivate > /dev/null 2>&1 ; nvm_ls_current)" = "system" ] || die 'when deactivated, did not return "system"'
|
||||
|
||||
TEST_PWD=$(pwd)
|
||||
TEST_DIR="$TEST_PWD/nvm_ls_current_tmp"
|
||||
|
||||
21
test/fast/Unit tests/nvm_num_version_groups
Executable file
21
test/fast/Unit tests/nvm_num_version_groups
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
[ "~$(nvm_num_version_groups)" = "~0" ] || die "no args should give 0"
|
||||
[ "~$(nvm_num_version_groups a)" = "~1" ] || die "one letter should give 1"
|
||||
|
||||
[ "~$(nvm_num_version_groups 1)" = "~1" ] || die "1 should give 1"
|
||||
[ "~$(nvm_num_version_groups v1)" = "~1" ] || die "v1 should give 1"
|
||||
[ "~$(nvm_num_version_groups v1.)" = "~1" ] || die "v1. should give 1"
|
||||
|
||||
[ "~$(nvm_num_version_groups 1.2)" = "~2" ] || die "1.2 should give 2"
|
||||
[ "~$(nvm_num_version_groups v1.2)" = "~2" ] || die "v1.2 should give 2"
|
||||
[ "~$(nvm_num_version_groups v1.2.)" = "~2" ] || die "v1.2. should give 2"
|
||||
|
||||
[ "~$(nvm_num_version_groups 1.2.3)" = "~3" ] || die "1.2.3 should give 3"
|
||||
[ "~$(nvm_num_version_groups v1.2.3)" = "~3" ] || die "v1.2.3 should give 3"
|
||||
[ "~$(nvm_num_version_groups v1.2.3.)" = "~3" ] || die "v1.2.3. should give 3"
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
. ../../nvm.sh
|
||||
|
||||
[ "$(nvm install invalid.invalid 2>&1)" = "Version 'invalid.invalid' not found - try \`nvm ls-remote\` to browse available versions." ] || die "nvm installing an invalid version did not print a nice error message"
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../v0.9.7 ] && rm -R ../../../v0.9.7
|
||||
[ -e ../../../v0.9.12 ] && rm -R ../../../v0.9.12
|
||||
[ -e ../../v0.9.7 ] && rm -R ../../v0.9.7
|
||||
[ -e ../../v0.9.12 ] && rm -R ../../v0.9.12
|
||||
|
||||
# Install from binary
|
||||
nvm install 0.9.7
|
||||
@@ -1,17 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. ../../../nvm.sh
|
||||
. ../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION=v0.10.7
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from binary
|
||||
nvm install $NVM_TEST_VERSION
|
||||
|
||||
# Check
|
||||
[ -d ../../../$NVM_TEST_VERSION ]
|
||||
[ -d ../../$NVM_TEST_VERSION ]
|
||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. ../../../nvm.sh
|
||||
. ../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION=v0.10.7
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from source
|
||||
nvm install -s $NVM_TEST_VERSION
|
||||
|
||||
# Check
|
||||
[ -d ../../../$NVM_TEST_VERSION ]
|
||||
[ -d ../../$NVM_TEST_VERSION ]
|
||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. ../../../nvm.sh
|
||||
. ../../nvm.sh
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../v0.9.7 ] && rm -R ../../../v0.9.7
|
||||
[ -e ../../../v0.9.12 ] && rm -R ../../../v0.9.12
|
||||
[ -e ../../v0.9.7 ] && rm -R ../../v0.9.7
|
||||
[ -e ../../v0.9.12 ] && rm -R ../../v0.9.12
|
||||
|
||||
# Install from binary
|
||||
nvm install 0.9.7
|
||||
nvm i 0.9.12
|
||||
|
||||
# Check
|
||||
[ -d ../../../v0.9.7 ]
|
||||
[ -d ../../../v0.9.12 ]
|
||||
[ -d ../../v0.9.7 ]
|
||||
[ -d ../../v0.9.12 ]
|
||||
|
||||
# Use the first one
|
||||
nvm use 0.9.7
|
||||
@@ -1,20 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. ../../../nvm.sh
|
||||
. ../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION=v0.10.7
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from binary
|
||||
cat "$NVM_TEST_VERSION" > .nvmrc
|
||||
echo "$NVM_TEST_VERSION" > .nvmrc
|
||||
|
||||
nvm install
|
||||
|
||||
# Check
|
||||
[ -d ../../../$NVM_TEST_VERSION ]
|
||||
[ -d ../../$NVM_TEST_VERSION ]
|
||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. ../../../nvm.sh
|
||||
. ../../nvm.sh
|
||||
|
||||
NVM_TEST_VERSION=v0.10.7
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||
|
||||
# Install from binary
|
||||
cat "$NVM_TEST_VERSION" > .nvmrc
|
||||
echo "$NVM_TEST_VERSION" > .nvmrc
|
||||
|
||||
nvm install -s
|
||||
|
||||
# Check
|
||||
[ -d ../../../$NVM_TEST_VERSION ]
|
||||
[ -d ../../$NVM_TEST_VERSION ]
|
||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
||||
|
||||
|
||||
34
test/installation/install while copying packages
Executable file
34
test/installation/install while copying packages
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
[ -e ../../v0.9.7 ] && rm -R ../../v0.9.7
|
||||
[ -e ../../v0.9.12 ] && rm -R ../../v0.9.12
|
||||
|
||||
# Install from binary
|
||||
nvm install 0.9.7
|
||||
|
||||
# Check
|
||||
[ -d ../../v0.9.7 ] || die "nvm install 0.9.7 didn't install"
|
||||
|
||||
nvm use 0.9.7
|
||||
|
||||
node --version | grep v0.9.7 > /dev/null || die "nvm use 0.9.7 failed"
|
||||
|
||||
npm install -g is-nan@1.0.1 || die "npm install -g is-nan failed"
|
||||
npm list --global | grep is-nan > /dev/null || die "is-nan isn't installed"
|
||||
|
||||
nvm ls 0.9 | grep v0.9.7 > /dev/null || die "nvm ls 0.9 didn't show v0.9.7"
|
||||
|
||||
nvm install 0.9.12 --copy-packages-from=0.9 || die "nvm install 0.9.12 --copy-packages-from=0.9 failed"
|
||||
|
||||
[ -d ../../v0.9.12 ] || die "nvm install 0.9.12 didn't install"
|
||||
|
||||
nvm use 0.9
|
||||
node --version | grep v0.9.12 > /dev/null || die "nvm ls 0.9 didn't use v0.9.12"
|
||||
|
||||
npm list --global | grep is-nan > /dev/null || die "is-nan isn't installed"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
. ../../nvm.sh
|
||||
nvm uninstall v0.10.7
|
||||
|
||||
if [ -f ".nvmrc" ]; then
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm use 0.10.28 > /dev/null
|
||||
|
||||
EXPECTED_MSG="Can not copy packages from the current version of node."
|
||||
ACTUAL_MSG="$(nvm copy-packages 0.10.28 2>&1 > /dev/null)"
|
||||
[ "~$ACTUAL_MSG" = "~$EXPECTED_MSG" ] || die "'nvm use 0.10.28 && nvm copy-packages 0.10.28' did not fail with the right message: '$ACTUAL_MESSAGE'"
|
||||
|
||||
EXPECTED_ERROR_CODE="2"
|
||||
ACTUAL_ERROR_CODE="$(nvm copy-packages 0.10.28 > /dev/null 2>&1 ; echo $?)"
|
||||
[ "~$ACTUAL_ERROR_CODE" = "~$EXPECTED_ERROR_CODE" ] || die "'nvm use 0.10.28 && nvm copy-packages 0.10.28' did not fail with the right error code: expected '$EXPECTED_ERROR_CODE', got '$ACTUAL_ERROR_CODE'"
|
||||
|
||||
Reference in New Issue
Block a user