Compare commits
83 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40e40975eb | ||
|
|
ae8eb80d0b | ||
|
|
186509be24 | ||
|
|
853afbf595 | ||
|
|
a8c465018e | ||
|
|
1cac5194b9 | ||
|
|
71b49f1744 | ||
|
|
60239e39cd | ||
|
|
0f6997d90a | ||
|
|
fcd6331f09 | ||
|
|
2af47b0034 | ||
|
|
7c0dc2be68 | ||
|
|
d5340539d9 | ||
|
|
45771499ee | ||
|
|
84575cf353 | ||
|
|
47c60dfc1d | ||
|
|
c96c561c88 | ||
|
|
f29cd1a2ab | ||
|
|
00a1ee6c4d | ||
|
|
a7648ebd9f | ||
|
|
26fec8035f | ||
|
|
c58540666d | ||
|
|
7f1917d0aa | ||
|
|
7d08ad4311 | ||
|
|
5b820a453c | ||
|
|
af73102481 | ||
|
|
20ae7ee309 | ||
|
|
ac63638469 | ||
|
|
7ed1e71944 | ||
|
|
b7f9fbd3a7 | ||
|
|
9963660a11 | ||
|
|
60ba4bca0c | ||
|
|
e47b313b85 | ||
|
|
4b4e71f05c | ||
|
|
5508f8dc70 | ||
|
|
1ffa41886a | ||
|
|
49e8068271 | ||
|
|
ab6be9c0c1 | ||
|
|
61ae478c38 | ||
|
|
8c03637023 | ||
|
|
65acb403ce | ||
|
|
9f67d3ef66 | ||
|
|
38934bf16c | ||
|
|
03608291a6 | ||
|
|
fd33179119 | ||
|
|
e5316ddbe3 | ||
|
|
eab41ed8ef | ||
|
|
c5303a6973 | ||
|
|
7ef38cf7e8 | ||
|
|
8f82eab5db | ||
|
|
9c92b5a4ea | ||
|
|
f7763c8ba9 | ||
|
|
24f8ae5c46 | ||
|
|
cadbbced20 | ||
|
|
2a2b8bdeb3 | ||
|
|
942e9ab1f5 | ||
|
|
a458ccbb87 | ||
|
|
ce7f6d6e52 | ||
|
|
f3cddf8271 | ||
|
|
589a9112bd | ||
|
|
76fe1ab1c6 | ||
|
|
a338f98a5a | ||
|
|
4b88613508 | ||
|
|
3342367981 | ||
|
|
f9e14b7d4d | ||
|
|
a29d0e49dc | ||
|
|
702d52f23b | ||
|
|
7ca1186dbc | ||
|
|
160a39c844 | ||
|
|
d12ccb130d | ||
|
|
acbdd9a3fa | ||
|
|
f60edbb6b4 | ||
|
|
256e75c789 | ||
|
|
8b3cf6cbcb | ||
|
|
5c68141ede | ||
|
|
dc1d3aa943 | ||
|
|
51b21bcad1 | ||
|
|
4a7973ea61 | ||
|
|
68761c3200 | ||
|
|
ef5670fd82 | ||
|
|
9db5c06a63 | ||
|
|
3b5f088e01 | ||
|
|
dca0220275 |
41
.github/ISSUE_TEMPLATE.md
vendored
Normal file
41
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
|
||||
<!-- Thank you for being interested in nvm! Please help us by filling out the following form if you‘re having trouble. If you have a feature request, or some other question, please feel free to clear out the form. Thanks! -->
|
||||
|
||||
- Operating system and version:
|
||||
|
||||
- `nvm debug` output:
|
||||
<details>
|
||||
<!-- do not delete the following blank line -->
|
||||
|
||||
```sh
|
||||
|
||||
```
|
||||
</details>
|
||||
|
||||
- `nvm ls` output:
|
||||
<details>
|
||||
<!-- do not delete the following blank line -->
|
||||
|
||||
```sh
|
||||
|
||||
```
|
||||
</details>
|
||||
|
||||
- How did you install `nvm`? (e.g. install script in readme, homebrew):
|
||||
|
||||
- What steps did you perform?
|
||||
|
||||
- What happened?
|
||||
|
||||
- What did you expect to happen?
|
||||
|
||||
- Is there anything in any of your profile files (`.bashrc`, `.bash_profile`, `.zshrc`, etc) that modifies the `PATH`?
|
||||
|
||||
<!-- if this does not apply, please delete this section -->
|
||||
- If you are having installation issues, or getting "N/A", what does `curl -v nodejs.org/dist/` print out?
|
||||
<details>
|
||||
<!-- do not delete the following blank line -->
|
||||
|
||||
```sh
|
||||
```
|
||||
</details>
|
||||
13
.travis.yml
13
.travis.yml
@@ -7,30 +7,33 @@ addons:
|
||||
packages:
|
||||
- gcc-4.8
|
||||
- g++-4.8
|
||||
apt_packages:
|
||||
- cabal-install
|
||||
- ghc
|
||||
- zsh
|
||||
- ksh
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.stack
|
||||
- $HOME/.ghc
|
||||
- $HOME/.cabal
|
||||
- $TRAVIS_BUILD_DIR/.cache
|
||||
before_install:
|
||||
- $SHELL --version 2> /dev/null || dpkg -s $SHELL 2> /dev/null || which $SHELL
|
||||
- curl --version
|
||||
- wget --version
|
||||
- if [ -n "${SHELLCHECK-}" ]; then sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 575159689BEFB442 && echo 'deb http://download.fpcomplete.com/ubuntu precise main' | sudo tee /etc/apt/sources.list.d/fpco.list && sudo apt-get update && sudo apt-get install stack bc -y && stack setup && stack install ShellCheck && shellcheck --version ; fi
|
||||
- if [ -n "${SHELLCHECK-}" ]; then cabal update && cabal install transformers-0.4.3.0 ShellCheck && shellcheck --version ; fi
|
||||
install:
|
||||
- (mkdir /tmp/urchin && cd /tmp/urchin && curl -s "$(curl -s https://registry.npmjs.com/urchin | grep -Eo '"tarball":\s*"[^"]+"' | tail -n 1 | awk -F\" '{ print $4 }')" -O && tar -x -f urchin*)
|
||||
- chmod +x /tmp/urchin/package/urchin
|
||||
- '[ -z "$WITHOUT_CURL" ] || sudo apt-get remove curl -y'
|
||||
script:
|
||||
- if [ -n "${SHELLCHECK-}" ]; then shellcheck -s bash nvm.sh && shellcheck -s sh nvm.sh && shellcheck -s dash nvm.sh && shellcheck -s ksh nvm.sh && shellcheck -s bash install.sh ; fi
|
||||
- if [ -n "${SHELLCHECK-}" ]; then shellcheck -s bash nvm.sh && shellcheck -s sh nvm.sh && shellcheck -s dash nvm.sh && shellcheck -s ksh nvm.sh ; fi
|
||||
- if [ -n "${SHELLCHECK-}" ]; then shellcheck -s bash install.sh bash_completion nvm-exec ; fi
|
||||
- if [ -z "${SHELLCHECK-}" ]; then make TEST_SUITE=$TEST_SUITE URCHIN=/tmp/urchin/package/urchin test-$SHELL ; fi
|
||||
env:
|
||||
global:
|
||||
- CXX=g++-4.8
|
||||
- CC=gcc-4.8
|
||||
- PATH=$(echo $PATH | sed 's/::/:/')
|
||||
- PATH="~/.cabal/bin/:$(echo $PATH | sed 's/::/:/')"
|
||||
- NVM_DIR="${TRAVIS_BUILD_DIR}"
|
||||
matrix:
|
||||
- SHELLCHECK=true
|
||||
|
||||
2
Makefile
2
Makefile
@@ -74,4 +74,4 @@ release: _ensure-tag _ensure-clean
|
||||
printf "=== Bumping version **$$old_ver** to **$$new_ver** before committing and tagging:\n=== TYPE 'proceed' TO PROCEED, anything else to abort: " && read response && [ "$$response" = 'proceed' ] || { echo 'Aborted.' >&2; exit 2; }; \
|
||||
replace "$$old_ver" "$$new_ver" -- $(VERSIONED_FILES) && \
|
||||
git commit -m "v$$new_ver" $(VERSIONED_FILES) && \
|
||||
git tag -a -m "v$$new_ver" "v$$new_ver"
|
||||
git tag -a "v$$new_ver"
|
||||
|
||||
@@ -1,49 +1,73 @@
|
||||
# Node Version Manager [][3]
|
||||
# Node Version Manager [][3] [][4]
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Install script](#install-script)
|
||||
- [Verify installation](#verify-installation)
|
||||
- [Manual install](#manual-install)
|
||||
- [Manual upgrade](#manual-upgrade)
|
||||
- [Usage](#usage)
|
||||
- [Long-term support](#long-term-support)
|
||||
- [Migrating global packages while installing](#migrating-global-packages-while-installing)
|
||||
- [io.js](#iojs)
|
||||
- [System version of node](#system-version-of-node)
|
||||
- [Listing versions](#listing-versions)
|
||||
- [.nvmrc](#nvmrc)
|
||||
- [Deeper Shell Integration](#deeper-shell-integration)
|
||||
- [License](#license)
|
||||
- [Running tests](#running-tests)
|
||||
- [Bash completion](#bash-completion)
|
||||
- [Usage](#usage-1)
|
||||
- [Compatibility Issues](#compatibility-issues)
|
||||
- [Installing nvm on Alpine Linux](#installing-nvm-on-alpine-linux)
|
||||
- [Problems](#problems)
|
||||
|
||||
## Installation
|
||||
|
||||
First you'll need to make sure your system has a c++ compiler. For OS X, Xcode will work, for Ubuntu, the build-essential and libssl-dev packages work.
|
||||
First you'll need to make sure your system has a c++ compiler. For OS X, Xcode will work, for Ubuntu, the `build-essential` and `libssl-dev` packages work.
|
||||
|
||||
Note: `nvm` does not support Windows (see [#284](https://github.com/creationix/nvm/issues/284)). Two alternatives exist, which are neither supported nor developed by us:
|
||||
**Note:** `nvm` does not support Windows (see [#284](https://github.com/creationix/nvm/issues/284)). Two alternatives exist, which are neither supported nor developed by us:
|
||||
- [nvm-windows](https://github.com/coreybutler/nvm-windows)
|
||||
- [nodist](https://github.com/marcelklehr/nodist)
|
||||
|
||||
Note: `nvm` does not support [Fish] either (see [#303](https://github.com/creationix/nvm/issues/303)). Alternatives exist, which are neither supported nor developed by us:
|
||||
**Note:** `nvm` does not support [Fish] either (see [#303](https://github.com/creationix/nvm/issues/303)). Alternatives exist, which are neither supported nor developed by us:
|
||||
- [bass](https://github.com/edc/bass) allows you to use utilities written for Bash in fish shell
|
||||
- [fast-nvm-fish](https://github.com/brigand/fast-nvm-fish) only works with version numbers (not aliases) but doesn't significantly slow your shell startup
|
||||
- [fin](https://github.com/fisherman/fin) is a pure fish node version manager for fish shell
|
||||
- [plugin-nvm](https://github.com/derekstavis/plugin-nvm) plugin for [Oh My Fish](https://github.com/oh-my-fish/oh-my-fish), which makes nvm and its completions available in fish shell
|
||||
|
||||
|
||||
|
||||
Note: We still have some problems with FreeBSD, because there is no pre-built binary from official for FreeBSD, and building from source may need [patches](https://www.freshports.org/www/node/files/patch-deps_v8_src_base_platform_platform-posix.cc), see the issue ticket:
|
||||
**Note:** We still have some problems with FreeBSD, because there is no official pre-built binary for FreeBSD, and building from source may need [patches](https://www.freshports.org/www/node/files/patch-deps_v8_src_base_platform_platform-posix.cc); see the issue ticket:
|
||||
- [[#900] [Bug] nodejs on FreeBSD need to be patched ](https://github.com/creationix/nvm/issues/900)
|
||||
- [nodejs/node#3716](https://github.com/nodejs/node/issues/3716)
|
||||
|
||||
Note: On OS X, if you do not have Xcode installed and you do not wish to download the ~4.3GB file, you can install the `Command Line Tools`. You can check out this blog post on how to just that:
|
||||
**Note:** On OS X, if you do not have Xcode installed and you do not wish to download the ~4.3GB file, you can install the `Command Line Tools`. You can check out this blog post on how to just that:
|
||||
- [How to Install Command Line Tools in OS X Mavericks & Yosemite (Without Xcode)](http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/)
|
||||
|
||||
Note: On OS X, if you have/had a "system" node installed and want to install modules globally, keep in mind that:
|
||||
**Note:** On OS X, if you have/had a "system" node installed and want to install modules globally, keep in mind that:
|
||||
- When using nvm you do not need `sudo` to globally install a module with `npm -g`, so instead of doing `sudo npm install -g grunt`, do instead `npm install -g grunt`
|
||||
- If you have an `~/.npmrc` file, make sure it does not contain any `prefix` settings (which is not compatible with nvm)
|
||||
- You can (but should not?) keep your previous "system" node install, but nvm will only be available to your user account (the one used to install nvm). This might cause version mismatches, as other users will be using `/usr/local/lib/node_modules/*` VS your user account using `~/.nvm/versions/node/vX.X.X/lib/node_modules/*`
|
||||
|
||||
Homebrew installation is not supported. If you have issues with homebrew-installed `nvm`, please `brew uninstall` it, and install it using the instructions below, before filing an issue.
|
||||
|
||||
Note: If you're using `zsh` you can easily install `nvm` as a zsh plugin. Install [`zsh-nvm`](https://github.com/lukechilds/zsh-nvm) and run `nvm upgrade` to upgrade.
|
||||
**Note:** If you're using `zsh` you can easily install `nvm` as a zsh plugin. Install [`zsh-nvm`](https://github.com/lukechilds/zsh-nvm) and run `nvm upgrade` to upgrade.
|
||||
|
||||
**Note:** Git versions before v1.7 may face a problem of cloning nvm source from GitHub via https protocol, and there is also different behavior of git before v1.6, so the minimum required git version is v1.7.0 and we recommend v1.7.9.5 as it's the default version of the wildly used Ubuntu 12.04 LTS. If you are interested in the problem we mentioned here, please refer to GitHub's [HTTPS cloning errors](https://help.github.com/articles/https-cloning-errors/) article.
|
||||
|
||||
### Install script
|
||||
|
||||
To install or update nvm, you can use the [install script][2] using cURL:
|
||||
|
||||
```sh
|
||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
|
||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
|
||||
```
|
||||
|
||||
or Wget:
|
||||
|
||||
```sh
|
||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
|
||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
|
||||
```
|
||||
|
||||
<sub>The script clones the nvm repository to `~/.nvm` and adds the source line to your profile (`~/.bash_profile`, `~/.zshrc`, `~/.profile`, or `~/.bashrc`).</sub>
|
||||
@@ -58,7 +82,7 @@ Eg: `curl ... | NVM_DIR=/usr/local/nvm bash` for a global install.
|
||||
|
||||
<sub>*NB. The installer can use `git`, `curl`, or `wget` to download `nvm`, whatever is available.*</sub>
|
||||
|
||||
Note: On OS X, if you get `nvm: command not found` after running the install script, your system may not have a [.bash_profile file] where the command is set up. Simply create one with `touch ~/.bash_profile` and run the install script again.
|
||||
**Note:** On OS X, if you get `nvm: command not found` after running the install script, your system may not have a [.bash_profile file] where the command is set up. Simply create one with `touch ~/.bash_profile` and run the install script again.
|
||||
|
||||
If the above doesn't fix the problem, open your `.bash_profile` and add the following line of code:
|
||||
|
||||
@@ -81,7 +105,7 @@ which should output 'nvm' if the installation was successful. Please note that `
|
||||
|
||||
For manual install create a folder somewhere in your filesystem with the `nvm.sh` file inside it. I put mine in `~/.nvm`.
|
||||
|
||||
Or if you have `git` installed (requires git v1.5.5+):
|
||||
Or if you have `git` installed (requires git v1.7+):
|
||||
|
||||
1. clone this repo
|
||||
1. check out the latest version
|
||||
@@ -105,7 +129,7 @@ export NVM_DIR="$HOME/.nvm"
|
||||
|
||||
### Manual upgrade
|
||||
|
||||
For manual upgrade with `git` (requires git v1.5.5+):
|
||||
For manual upgrade with `git` (requires git v1.7+):
|
||||
|
||||
1. change to the `$NVM_DIR`
|
||||
1. pull down the latest changes
|
||||
@@ -292,9 +316,16 @@ Put this into your `$HOME/.zshrc` to call `nvm use` automatically whenever you e
|
||||
# place this after nvm initialization!
|
||||
autoload -U add-zsh-hook
|
||||
load-nvmrc() {
|
||||
if [[ -f .nvmrc && -r .nvmrc ]]; then
|
||||
nvm use
|
||||
elif [[ $(nvm version) != $(nvm version default) ]]; then
|
||||
local node_version="$(nvm version)"
|
||||
local nvmrc_path="$(nvm_find_nvmrc)"
|
||||
|
||||
if [ -n "$nvmrc_path" ]; then
|
||||
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
|
||||
|
||||
if [ "$nvmrc_node_version" != "N/A" ] && [ "$nvmrc_node_version" != "$node_version" ]; then
|
||||
nvm install
|
||||
fi
|
||||
elif [ "$node_version" != "$(nvm version default)" ]; then
|
||||
echo "Reverting to nvm default version"
|
||||
nvm use default
|
||||
fi
|
||||
@@ -343,7 +374,7 @@ Nota bene: Avoid running nvm while the tests are running.
|
||||
To activate, you need to source `bash_completion`:
|
||||
|
||||
```sh
|
||||
[[ -r $NVM_DIR/bash_completion ]] && . $NVM_DIR/bash_completion
|
||||
[[ -r $NVM_DIR/bash_completion ]] && . $NVM_DIR/bash_completion
|
||||
```
|
||||
|
||||
Put the above sourcing line just below the sourcing line for nvm in your profile (`.bashrc`, `.bash_profile`).
|
||||
@@ -398,13 +429,13 @@ In order to provide the best performance (and other optimisations), nvm will dow
|
||||
|
||||
Alpine Linux, unlike mainstream/traditional Linux distributions, is based on [busybox](https://www.busybox.net/), a very compact (~5MB) Linux distribution. Busybox (and thus Alpine Linux) uses a different C/C++ stack to most mainstream/traditional Linux distributions - [musl](https://www.musl-libc.org/). This makes binary programs built for such mainstream/traditional incompatible with Alpine Linux, thus we cannot simply `nvm install X` on Alpine Linux and expect the downloaded binary to run correctly - you'll likely see "...does not exist" errors if you try that.
|
||||
|
||||
There is a `-s` flag for `nvm install` which requests nvm download Node source and compile it locally but currently (May 2016), this is not available for Node versions newer than v0.10 so unless you need an older Node version, this won't help you. Work is in progress on source-builds for newer Node versions but is not yet complete.
|
||||
There is a `-s` flag for `nvm install` which requests nvm download Node source and compile it locally.
|
||||
|
||||
If installing nvm on Alpine Linux *is* still what you want or need to do, you should be able to achieve this by running the following from you Alpine Linux shell:
|
||||
|
||||
```sh
|
||||
apk add bash
|
||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | /bin/bash
|
||||
apk add -U curl bash ca-certificates openssl ncurses coreutils python2 make gcc g++ libgcc linux-headers
|
||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
|
||||
```
|
||||
|
||||
The Node project has some desire but no concrete plans (due to the overheads of building, testing and support) to offer Alpine-compatible binaries.
|
||||
@@ -435,7 +466,8 @@ After the v0.8.6 release of node, nvm tries to install from binary packages. But
|
||||
If setting the `default` alias does not establish the node version in new shells (i.e. `nvm current` yields `system`), ensure that the system's node PATH is set before the `nvm.sh` source line in your shell profile (see [#658](https://github.com/creationix/nvm/issues/658))
|
||||
|
||||
[1]: https://github.com/creationix/nvm.git
|
||||
[2]: https://github.com/creationix/nvm/blob/v0.32.0/install.sh
|
||||
[2]: https://github.com/creationix/nvm/blob/v0.33.0/install.sh
|
||||
[3]: https://travis-ci.org/creationix/nvm
|
||||
[4]: https://github.com/creationix/nvm/releases/tag/v0.33.0
|
||||
[Urchin]: https://github.com/scraperwiki/urchin
|
||||
[Fish]: http://fishshell.com
|
||||
|
||||
@@ -17,11 +17,11 @@ __nvm_commands ()
|
||||
|
||||
current_word="${COMP_WORDS[COMP_CWORD]}"
|
||||
|
||||
COMMANDS='\
|
||||
help install uninstall use run exec \
|
||||
alias unalias reinstall-packages \
|
||||
current list ls list-remote ls-remote \
|
||||
clear-cache deactivate unload \
|
||||
COMMANDS='
|
||||
help install uninstall use run exec
|
||||
alias unalias reinstall-packages
|
||||
current list ls list-remote ls-remote
|
||||
clear-cache deactivate unload
|
||||
version which'
|
||||
|
||||
if [ ${#COMP_WORDS[@]} == 4 ]; then
|
||||
@@ -56,8 +56,8 @@ __nvm_aliases ()
|
||||
{
|
||||
declare aliases
|
||||
aliases=""
|
||||
if [ -d $NVM_DIR/alias ]; then
|
||||
aliases="$(cd $NVM_DIR/alias && find $PWD -type f | sed "s:$PWD/::")"
|
||||
if [ -d "$NVM_DIR/alias" ]; then
|
||||
aliases="$(cd "$NVM_DIR/alias" && command find "$PWD" -type f | command sed "s:$PWD/::")"
|
||||
fi
|
||||
echo "${aliases} node stable unstable iojs"
|
||||
}
|
||||
|
||||
71
install.sh
71
install.sh
@@ -11,7 +11,7 @@ nvm_install_dir() {
|
||||
}
|
||||
|
||||
nvm_latest_version() {
|
||||
echo "v0.32.0"
|
||||
echo "v0.33.0"
|
||||
}
|
||||
|
||||
#
|
||||
@@ -109,6 +109,11 @@ install_nvm_from_git() {
|
||||
command git --git-dir="$INSTALL_DIR"/.git --work-tree="$INSTALL_DIR" branch -D master >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "=> Compressing and cleaning up git repository"
|
||||
if ! command git --git-dir="$INSTALL_DIR"/.git --work-tree="$INSTALL_DIR" gc --aggressive --prune=now ; then
|
||||
echo >&2 "Your version of git is out of date. Please update it!"
|
||||
fi
|
||||
return
|
||||
}
|
||||
|
||||
@@ -235,23 +240,24 @@ nvm_check_global_modules() {
|
||||
)"
|
||||
|
||||
if [ "${MODULE_COUNT}" != '0' ]; then
|
||||
cat <<-'END_MESSAGE'
|
||||
=> You currently have modules installed globally with `npm`. These will no
|
||||
=> longer be linked to the active version of Node when you install a new node
|
||||
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
|
||||
=> override the binaries of modules installed with `nvm`:
|
||||
# shellcheck disable=SC2016
|
||||
echo '=> You currently have modules installed globally with `npm`. These will no'
|
||||
# shellcheck disable=SC2016
|
||||
echo '=> longer be linked to the active version of Node when you install a new node'
|
||||
# shellcheck disable=SC2016
|
||||
echo '=> with `nvm`; and they may (depending on how you construct your `$PATH`)'
|
||||
# shellcheck disable=SC2016
|
||||
echo '=> override the binaries of modules installed with `nvm`:'
|
||||
echo
|
||||
|
||||
END_MESSAGE
|
||||
command printf %s\\n "$NPM_GLOBAL_MODULES"
|
||||
cat <<-'END_MESSAGE'
|
||||
|
||||
=> If you wish to uninstall them at a later point (or re-install them under your
|
||||
=> `nvm` Nodes), you can remove them from the system Node as follows:
|
||||
|
||||
$ nvm use system
|
||||
$ npm uninstall -g a_module
|
||||
|
||||
END_MESSAGE
|
||||
echo '=> If you wish to uninstall them at a later point (or re-install them under your'
|
||||
# shellcheck disable=SC2016
|
||||
echo '=> `nvm` Nodes), you can remove them from the system Node as follows:'
|
||||
echo
|
||||
echo ' $ nvm use system'
|
||||
echo ' $ npm uninstall -g a_module'
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -287,7 +293,9 @@ nvm_do_install() {
|
||||
local INSTALL_DIR
|
||||
INSTALL_DIR="$(nvm_install_dir)"
|
||||
|
||||
SOURCE_STR="\nexport NVM_DIR=\"$INSTALL_DIR\"\n[ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\" # This loads nvm\n"
|
||||
SOURCE_STR="\nexport NVM_DIR=\"$INSTALL_DIR\"\n[ -s \"\$NVM_DIR/nvm.sh\" ] && \\. \"\$NVM_DIR/nvm.sh\" # This loads nvm\n"
|
||||
COMPLETION_STR="[ -s \"\$NVM_DIR/bash_completion\" ] && \\. \"\$NVM_DIR/bash_completion\" # This loads nvm bash_completion\n"
|
||||
BASH_OR_ZSH=false
|
||||
|
||||
if [ -z "${NVM_PROFILE-}" ] ; then
|
||||
echo "=> Profile not found. Tried ${NVM_PROFILE} (as defined in \$PROFILE), ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile."
|
||||
@@ -297,17 +305,33 @@ nvm_do_install() {
|
||||
echo "=> Append the following lines to the correct file yourself:"
|
||||
command printf "${SOURCE_STR}"
|
||||
else
|
||||
case "${NVM_PROFILE-}" in
|
||||
".bashrc" | ".bash_profile" | ".zshrc")
|
||||
BASH_OR_ZSH=true
|
||||
;;
|
||||
esac
|
||||
if ! command grep -qc '/nvm.sh' "$NVM_PROFILE"; then
|
||||
echo "=> Appending source string to $NVM_PROFILE"
|
||||
command printf "$SOURCE_STR" >> "$NVM_PROFILE"
|
||||
echo "=> Appending nvm source string to $NVM_PROFILE"
|
||||
command printf "${SOURCE_STR}" >> "$NVM_PROFILE"
|
||||
else
|
||||
echo "=> Source string already in ${NVM_PROFILE}"
|
||||
echo "=> nvm source string already in ${NVM_PROFILE}"
|
||||
fi
|
||||
# shellcheck disable=SC2016
|
||||
if ${BASH_OR_ZSH} && ! command grep -qc '$NVM_DIR/bash_completion' "$NVM_PROFILE"; then
|
||||
echo "=> Appending bash_completion source string to $NVM_PROFILE"
|
||||
command printf "$COMPLETION_STR" >> "$NVM_PROFILE"
|
||||
else
|
||||
echo "=> bash_completion source string already in ${NVM_PROFILE}"
|
||||
fi
|
||||
fi
|
||||
if ${BASH_OR_ZSH} && [ -z "${NVM_PROFILE-}" ] ; then
|
||||
echo "=> Please also append the following lines to the if you are using bash/zsh shell:"
|
||||
command printf "${COMPLETION_STR}"
|
||||
fi
|
||||
|
||||
# Source nvm
|
||||
# shellcheck source=/dev/null
|
||||
. "${INSTALL_DIR}/nvm.sh"
|
||||
\. "${INSTALL_DIR}/nvm.sh"
|
||||
|
||||
nvm_check_global_modules
|
||||
|
||||
@@ -316,7 +340,10 @@ nvm_do_install() {
|
||||
nvm_reset
|
||||
|
||||
echo "=> Close and reopen your terminal to start using nvm or run the following to use it now:"
|
||||
command printf "$SOURCE_STR"
|
||||
command printf "${SOURCE_STR}"
|
||||
if ${BASH_OR_ZSH} ; then
|
||||
command printf " && ${COMPLETION_STR}"
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
|
||||
5
nvm-exec
5
nvm-exec
@@ -2,10 +2,11 @@
|
||||
|
||||
DIR="$(command cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
. "$DIR/nvm.sh" --no-use
|
||||
# shellcheck disable=SC1090
|
||||
\. "$DIR/nvm.sh" --no-use
|
||||
|
||||
if [ -n "$NODE_VERSION" ]; then
|
||||
nvm use $NODE_VERSION > /dev/null || exit 127
|
||||
nvm use "$NODE_VERSION" > /dev/null || exit 127
|
||||
elif ! nvm use >/dev/null 2>&1; then
|
||||
echo "No NODE_VERSION provided; no .nvmrc file found" >&2
|
||||
exit 127
|
||||
|
||||
484
nvm.sh
Normal file → Executable file
484
nvm.sh
Normal file → Executable file
@@ -22,6 +22,11 @@ nvm_echo() {
|
||||
}
|
||||
}
|
||||
|
||||
nvm_cd() {
|
||||
# shellcheck disable=SC1001,SC2164
|
||||
\cd "$@"
|
||||
}
|
||||
|
||||
nvm_err() {
|
||||
>&2 nvm_echo "$@"
|
||||
}
|
||||
@@ -115,7 +120,7 @@ if [ -z "${NVM_DIR-}" ]; then
|
||||
NVM_SCRIPT_SOURCE="${BASH_SOURCE[0]}"
|
||||
fi
|
||||
# shellcheck disable=SC1001
|
||||
NVM_DIR="$(cd ${NVM_CD_FLAGS} "$(dirname "${NVM_SCRIPT_SOURCE:-$0}")" > /dev/null && \pwd)"
|
||||
NVM_DIR="$(nvm_cd ${NVM_CD_FLAGS} "$(dirname "${NVM_SCRIPT_SOURCE:-$0}")" > /dev/null && \pwd)"
|
||||
export NVM_DIR
|
||||
fi
|
||||
unset NVM_SCRIPT_SOURCE 2> /dev/null
|
||||
@@ -187,6 +192,10 @@ nvm_rc_version() {
|
||||
fi
|
||||
}
|
||||
|
||||
nvm_clang_version() {
|
||||
clang --version | command awk '{ if ($2 == "version") print $3; else if ($3 == "version") print $4 }' | command sed 's/-.*$//g'
|
||||
}
|
||||
|
||||
nvm_version_greater() {
|
||||
command awk 'BEGIN {
|
||||
if (ARGV[1] == "" || ARGV[2] == "") exit(1)
|
||||
@@ -259,8 +268,7 @@ nvm_ensure_version_installed() {
|
||||
EXIT_CODE="$?"
|
||||
local NVM_VERSION_DIR
|
||||
if [ "${EXIT_CODE}" != "0" ] || ! nvm_is_version_installed "${LOCAL_VERSION}"; then
|
||||
VERSION="$(nvm_resolve_alias "${PROVIDED_VERSION}")"
|
||||
if [ $? -eq 0 ]; then
|
||||
if VERSION="$(nvm_resolve_alias "${PROVIDED_VERSION}")"; then
|
||||
nvm_err "N/A: version \"${PROVIDED_VERSION} -> ${VERSION}\" is not yet installed."
|
||||
nvm_err ""
|
||||
nvm_err "You need to run \"nvm install ${PROVIDED_VERSION}\" to install it before using it."
|
||||
@@ -313,10 +321,10 @@ nvm_remote_version() {
|
||||
if nvm_validate_implicit_alias "${PATTERN}" 2> /dev/null ; then
|
||||
case "${PATTERN}" in
|
||||
"$(nvm_iojs_prefix)")
|
||||
VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote_iojs | command tail -1)"
|
||||
VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote_iojs | command tail -1)" &&:
|
||||
;;
|
||||
*)
|
||||
VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote "${PATTERN}")"
|
||||
VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote "${PATTERN}")" &&:
|
||||
;;
|
||||
esac
|
||||
else
|
||||
@@ -338,31 +346,68 @@ nvm_remote_version() {
|
||||
nvm_remote_versions() {
|
||||
local NVM_IOJS_PREFIX
|
||||
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||
local NVM_NODE_PREFIX
|
||||
NVM_NODE_PREFIX="$(nvm_node_prefix)"
|
||||
|
||||
local PATTERN
|
||||
PATTERN="${1-}"
|
||||
|
||||
local NVM_FLAVOR
|
||||
if [ -n "${NVM_LTS-}" ]; then
|
||||
NVM_FLAVOR="${NVM_NODE_PREFIX}"
|
||||
fi
|
||||
|
||||
case "${PATTERN}" in
|
||||
"${NVM_IOJS_PREFIX}" | "io.js")
|
||||
VERSIONS="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote_iojs)"
|
||||
NVM_FLAVOR="${NVM_IOJS_PREFIX}"
|
||||
unset PATTERN
|
||||
;;
|
||||
"$(nvm_node_prefix)")
|
||||
VERSIONS="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote)"
|
||||
"${NVM_NODE_PREFIX}")
|
||||
NVM_FLAVOR="${NVM_NODE_PREFIX}"
|
||||
unset PATTERN
|
||||
;;
|
||||
*)
|
||||
if nvm_validate_implicit_alias "${PATTERN}" 2> /dev/null ; then
|
||||
esac
|
||||
|
||||
if nvm_validate_implicit_alias "${PATTERN-}" 2> /dev/null ; then
|
||||
nvm_err 'Implicit aliases are not supported in nvm_remote_versions.'
|
||||
return 1
|
||||
fi
|
||||
VERSIONS="$(nvm_echo "$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote "${PATTERN}")
|
||||
$(NVM_LTS=${NVM_LTS-} nvm_ls_remote_iojs "${PATTERN}")" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
;;
|
||||
esac
|
||||
|
||||
local NVM_LS_REMOTE_EXIT_CODE
|
||||
NVM_LS_REMOTE_EXIT_CODE=0
|
||||
local NVM_LS_REMOTE_PRE_MERGED_OUTPUT
|
||||
NVM_LS_REMOTE_PRE_MERGED_OUTPUT=''
|
||||
local NVM_LS_REMOTE_POST_MERGED_OUTPUT
|
||||
NVM_LS_REMOTE_POST_MERGED_OUTPUT=''
|
||||
if [ -z "${NVM_FLAVOR-}" ] || [ "${NVM_FLAVOR-}" = "${NVM_NODE_PREFIX}" ]; then
|
||||
local NVM_LS_REMOTE_OUTPUT
|
||||
NVM_LS_REMOTE_OUTPUT=$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote "${PATTERN-}") &&:
|
||||
NVM_LS_REMOTE_EXIT_CODE=$?
|
||||
# split output into two
|
||||
NVM_LS_REMOTE_PRE_MERGED_OUTPUT="${NVM_LS_REMOTE_OUTPUT%%v4\.0\.0*}"
|
||||
NVM_LS_REMOTE_POST_MERGED_OUTPUT="${NVM_LS_REMOTE_OUTPUT#$NVM_LS_REMOTE_PRE_MERGED_OUTPUT}"
|
||||
fi
|
||||
|
||||
local NVM_LS_REMOTE_IOJS_EXIT_CODE
|
||||
NVM_LS_REMOTE_IOJS_EXIT_CODE=0
|
||||
local NVM_LS_REMOTE_IOJS_OUTPUT
|
||||
if [ -z "${NVM_LTS-}" ] && ( \
|
||||
[ -z "${NVM_FLAVOR-}" ] || [ "${NVM_FLAVOR-}" = "${NVM_IOJS_PREFIX}" ] \
|
||||
); then
|
||||
NVM_LS_REMOTE_IOJS_OUTPUT=$(nvm_ls_remote_iojs "${PATTERN-}") &&:
|
||||
NVM_LS_REMOTE_IOJS_EXIT_CODE=$?
|
||||
fi
|
||||
|
||||
VERSIONS="$(nvm_echo "${NVM_LS_REMOTE_PRE_MERGED_OUTPUT}
|
||||
${NVM_LS_REMOTE_IOJS_OUTPUT}
|
||||
${NVM_LS_REMOTE_POST_MERGED_OUTPUT}" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
|
||||
if [ -z "${VERSIONS}" ]; then
|
||||
nvm_echo 'N/A'
|
||||
return 3
|
||||
else
|
||||
nvm_echo "${VERSIONS}"
|
||||
fi
|
||||
nvm_echo "${VERSIONS}"
|
||||
return $NVM_LS_REMOTE_EXIT_CODE || $NVM_LS_REMOTE_IOJS_EXIT_CODE
|
||||
}
|
||||
|
||||
nvm_is_valid_version() {
|
||||
@@ -408,7 +453,7 @@ nvm_format_version() {
|
||||
if [ "${NUM_GROUPS}" -lt 3 ]; then
|
||||
nvm_format_version "${VERSION%.}.0"
|
||||
else
|
||||
nvm_echo "${VERSION}" | cut -f1-3 -d.
|
||||
nvm_echo "${VERSION}" | command cut -f1-3 -d.
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -463,7 +508,7 @@ nvm_print_formatted_alias() {
|
||||
local VERSION
|
||||
VERSION="${3-}"
|
||||
if [ -z "${VERSION}" ]; then
|
||||
VERSION="$(nvm_version "${DEST}" || return 0)"
|
||||
VERSION="$(nvm_version "${DEST}")" ||:
|
||||
fi
|
||||
local VERSION_FORMAT
|
||||
local ALIAS_FORMAT
|
||||
@@ -528,7 +573,7 @@ nvm_print_alias_path() {
|
||||
local ALIAS
|
||||
ALIAS="${ALIAS_PATH##${NVM_ALIAS_DIR}\/}"
|
||||
local DEST
|
||||
DEST="$(nvm_alias "${ALIAS}" 2> /dev/null || return 0)"
|
||||
DEST="$(nvm_alias "${ALIAS}" 2> /dev/null)" ||:
|
||||
if [ -n "${DEST}" ]; then
|
||||
NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_LTS="${NVM_LTS-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${DEST}"
|
||||
fi
|
||||
@@ -616,8 +661,7 @@ nvm_alias() {
|
||||
|
||||
nvm_ls_current() {
|
||||
local NVM_LS_CURRENT_NODE_PATH
|
||||
NVM_LS_CURRENT_NODE_PATH="$(command which node 2> /dev/null)"
|
||||
if [ $? -ne 0 ]; then
|
||||
if ! NVM_LS_CURRENT_NODE_PATH="$(command which node 2> /dev/null)"; then
|
||||
nvm_echo 'none'
|
||||
elif nvm_tree_contains_path "$(nvm_version_dir iojs)" "${NVM_LS_CURRENT_NODE_PATH}"; then
|
||||
nvm_add_iojs_prefix "$(iojs --version 2>/dev/null)"
|
||||
@@ -850,7 +894,7 @@ nvm_ls() {
|
||||
PATTERN='v'
|
||||
SEARCH_PATTERN='.*'
|
||||
else
|
||||
SEARCH_PATTERN="$(echo "${PATTERN}" | sed "s#\.#\\\.#g;")"
|
||||
SEARCH_PATTERN="$(echo "${PATTERN}" | command sed "s#\.#\\\.#g;")"
|
||||
fi
|
||||
if [ -n "${NVM_DIRS_TO_SEARCH1}${NVM_DIRS_TO_SEARCH2}${NVM_DIRS_TO_SEARCH3}" ]; then
|
||||
VERSIONS="$(command find "${NVM_DIRS_TO_SEARCH1}"/* "${NVM_DIRS_TO_SEARCH2}"/* "${NVM_DIRS_TO_SEARCH3}"/* -name . -o -type d -prune -o -path "${PATTERN}*" \
|
||||
@@ -903,48 +947,60 @@ nvm_ls_remote() {
|
||||
else
|
||||
PATTERN=".*"
|
||||
fi
|
||||
NVM_LTS="${NVM_LTS-}" nvm_ls_remote_index_tab node std "${NVM_NODEJS_ORG_MIRROR}" "${PATTERN}"
|
||||
NVM_LTS="${NVM_LTS-}" nvm_ls_remote_index_tab node std "${PATTERN}"
|
||||
}
|
||||
|
||||
nvm_ls_remote_iojs() {
|
||||
NVM_LTS="${NVM_LTS-}" nvm_ls_remote_index_tab iojs std "${NVM_IOJS_ORG_MIRROR}" "${1-}"
|
||||
NVM_LTS="${NVM_LTS-}" nvm_ls_remote_index_tab iojs std "${1-}"
|
||||
}
|
||||
|
||||
# args flavor, type, version
|
||||
nvm_ls_remote_index_tab() {
|
||||
local LTS
|
||||
LTS="${NVM_LTS-}"
|
||||
if [ "$#" -lt 4 ]; then
|
||||
if [ "$#" -lt 3 ]; then
|
||||
nvm_err 'not enough arguments'
|
||||
return 5
|
||||
fi
|
||||
|
||||
local FLAVOR
|
||||
FLAVOR="${1-}"
|
||||
|
||||
local TYPE
|
||||
TYPE="${1-}"
|
||||
TYPE="${2-}"
|
||||
|
||||
local MIRROR
|
||||
MIRROR="$(nvm_get_mirror "${FLAVOR}" "${TYPE}")"
|
||||
if [ -z "${MIRROR}" ]; then
|
||||
return 3
|
||||
fi
|
||||
|
||||
local PREFIX
|
||||
PREFIX=''
|
||||
case "${TYPE}-${2-}" in
|
||||
case "${FLAVOR}-${TYPE}" in
|
||||
iojs-std) PREFIX="$(nvm_iojs_prefix)-" ;;
|
||||
node-std) PREFIX='' ;;
|
||||
iojs-*)
|
||||
nvm_err 'unknown type of io.js release'
|
||||
return 4
|
||||
;;
|
||||
node-*)
|
||||
*)
|
||||
nvm_err 'unknown type of node.js release'
|
||||
return 4
|
||||
;;
|
||||
esac
|
||||
local SORT_COMMAND
|
||||
SORT_COMMAND='sort'
|
||||
case "${TYPE}" in
|
||||
node) SORT_COMMAND='sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n' ;;
|
||||
SORT_COMMAND='command sort'
|
||||
case "${FLAVOR}" in
|
||||
node) SORT_COMMAND='command sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n' ;;
|
||||
esac
|
||||
local MIRROR
|
||||
MIRROR="${3-}"
|
||||
|
||||
local PATTERN
|
||||
PATTERN="${4-}"
|
||||
PATTERN="${3-}"
|
||||
|
||||
local VERSIONS
|
||||
if [ -n "${PATTERN}" ]; then
|
||||
if [ "${TYPE}" = 'iojs' ]; then
|
||||
if [ "${FLAVOR}" = 'iojs' ]; then
|
||||
PATTERN="$(nvm_ensure_version_prefix "$(nvm_strip_iojs_prefix "${PATTERN}")")"
|
||||
else
|
||||
PATTERN="$(nvm_ensure_version_prefix "${PATTERN}")"
|
||||
@@ -952,6 +1008,7 @@ nvm_ls_remote_index_tab() {
|
||||
else
|
||||
unset PATTERN
|
||||
fi
|
||||
|
||||
ZSH_HAS_SHWORDSPLIT_UNSET=1
|
||||
if nvm_has "setopt"; then
|
||||
ZSH_HAS_SHWORDSPLIT_UNSET="$(set +e ; setopt | nvm_grep shwordsplit > /dev/null ; nvm_echo $?)"
|
||||
@@ -968,18 +1025,19 @@ nvm_ls_remote_index_tab() {
|
||||
local LTS_VERSION
|
||||
command mkdir -p "$(nvm_alias_path)/lts"
|
||||
nvm_echo "${VERSION_LIST}" \
|
||||
| awk '{
|
||||
| command awk '{
|
||||
if ($10 ~ /^\-?$/) { next }
|
||||
if ($10 && !a[tolower($10)]++) {
|
||||
if (alias) { print alias, version }
|
||||
alias = "lts/" tolower($10)
|
||||
alias_name = "lts/" tolower($10)
|
||||
if (!alias) { print "lts/*", alias_name }
|
||||
alias = alias_name
|
||||
version = $1
|
||||
}
|
||||
}
|
||||
END {
|
||||
if (alias) {
|
||||
print alias, version
|
||||
print "lts/*", alias
|
||||
}
|
||||
}' \
|
||||
| while read -r LTS_ALIAS_LINE; do
|
||||
@@ -1149,26 +1207,26 @@ nvm_checksum() {
|
||||
elif nvm_has "sha1" && ! nvm_is_alias "sha1"; then
|
||||
NVM_CHECKSUM="$(command sha1 -q "${1-}")"
|
||||
elif nvm_has "shasum" && ! nvm_is_alias "shasum"; then
|
||||
NVM_CHECKSUM="$(shasum "${1-}" | command awk '{print $1}')"
|
||||
NVM_CHECKSUM="$(command shasum "${1-}" | command awk '{print $1}')"
|
||||
else
|
||||
nvm_err 'Unaliased sha1sum, sha1, or shasum not found.'
|
||||
return 2
|
||||
fi
|
||||
else
|
||||
if nvm_has "sha256sum" && ! nvm_is_alias "sha256sum"; then
|
||||
NVM_CHECKSUM="$(sha256sum "${1-}" | command awk '{print $1}')"
|
||||
NVM_CHECKSUM="$(command sha256sum "${1-}" | command awk '{print $1}')"
|
||||
elif nvm_has "shasum" && ! nvm_is_alias "shasum"; then
|
||||
NVM_CHECKSUM="$(shasum -a 256 "${1-}" | command awk '{print $1}')"
|
||||
NVM_CHECKSUM="$(command shasum -a 256 "${1-}" | command awk '{print $1}')"
|
||||
elif nvm_has "sha256" && ! nvm_is_alias "sha256"; then
|
||||
NVM_CHECKSUM="$(sha256 -q "${1-}" | command awk '{print $1}')"
|
||||
NVM_CHECKSUM="$(command sha256 -q "${1-}" | command awk '{print $1}')"
|
||||
elif nvm_has "gsha256sum" && ! nvm_is_alias "gsha256sum"; then
|
||||
NVM_CHECKSUM="$(gsha256sum "${1-}" | command awk '{print $1}')"
|
||||
NVM_CHECKSUM="$(command gsha256sum "${1-}" | command awk '{print $1}')"
|
||||
elif nvm_has "openssl" && ! nvm_is_alias "openssl"; then
|
||||
NVM_CHECKSUM="$(openssl dgst -sha256 "${1-}" | rev | command awk '{print $1}' | rev)"
|
||||
NVM_CHECKSUM="$(command openssl dgst -sha256 "${1-}" | rev | command awk '{print $1}' | rev)"
|
||||
elif nvm_has "libressl" && ! nvm_is_alias "libressl"; then
|
||||
NVM_CHECKSUM="$(libressl dgst -sha256 "${1-}" | rev | command awk '{print $1}' | rev)"
|
||||
NVM_CHECKSUM="$(command libressl dgst -sha256 "${1-}" | rev | command awk '{print $1}' | rev)"
|
||||
elif nvm_has "bssl" && ! nvm_is_alias "bssl"; then
|
||||
NVM_CHECKSUM="$(bssl sha256sum "${1-}" | command awk '{print $1}')"
|
||||
NVM_CHECKSUM="$(command bssl sha256sum "${1-}" | command awk '{print $1}')"
|
||||
else
|
||||
nvm_err 'Unaliased sha256sum, shasum, sha256, gsha256sum, openssl, libressl, or bssl not found.'
|
||||
nvm_err 'WARNING: Continuing *without checksum verification*'
|
||||
@@ -1206,20 +1264,20 @@ nvm_print_versions() {
|
||||
| while read -r VERSION_LINE; do
|
||||
VERSION="${VERSION_LINE%% *}"
|
||||
LTS="${VERSION_LINE#* }"
|
||||
FORMAT='%15s '
|
||||
FORMAT='%15s'
|
||||
if [ "_$VERSION" = "_$NVM_CURRENT" ]; then
|
||||
if [ "${NVM_HAS_COLORS-}" = '1' ]; then
|
||||
FORMAT='\033[0;32m-> %12s\033[0m '
|
||||
FORMAT='\033[0;32m-> %12s\033[0m'
|
||||
else
|
||||
FORMAT='-> %12s *'
|
||||
fi
|
||||
elif [ "$VERSION" = "system" ]; then
|
||||
if [ "${NVM_HAS_COLORS-}" = '1' ]; then
|
||||
FORMAT='\033[0;33m%15s\033[0m '
|
||||
FORMAT='\033[0;33m%15s\033[0m'
|
||||
fi
|
||||
elif nvm_is_version_installed "$VERSION"; then
|
||||
if [ "${NVM_HAS_COLORS-}" = '1' ]; then
|
||||
FORMAT='\033[0;34m%15s\033[0m '
|
||||
FORMAT='\033[0;34m%15s\033[0m'
|
||||
else
|
||||
FORMAT='%15s *'
|
||||
fi
|
||||
@@ -1230,17 +1288,17 @@ nvm_print_versions() {
|
||||
LTS="${LTS##Latest }"
|
||||
LTS_LENGTH="${#LTS}"
|
||||
if [ "${NVM_HAS_COLORS-}" = '1' ]; then
|
||||
LTS_FORMAT="\033[1;32m%${LTS_LENGTH}s\033[0m"
|
||||
LTS_FORMAT=" \033[1;32m%${LTS_LENGTH}s\033[0m"
|
||||
else
|
||||
LTS_FORMAT="%${LTS_LENGTH}s"
|
||||
LTS_FORMAT=" %${LTS_LENGTH}s"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
LTS_LENGTH="${#LTS}"
|
||||
if [ "${NVM_HAS_COLORS-}" = '1' ]; then
|
||||
LTS_FORMAT="\033[0;37m%${LTS_LENGTH}s\033[0m"
|
||||
LTS_FORMAT=" \033[0;37m%${LTS_LENGTH}s\033[0m"
|
||||
else
|
||||
LTS_FORMAT="%${LTS_LENGTH}s"
|
||||
LTS_FORMAT=" %${LTS_LENGTH}s"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@@ -1305,7 +1363,7 @@ nvm_print_implicit_alias() {
|
||||
|
||||
local NVM_IOJS_VERSION
|
||||
local EXIT_CODE
|
||||
NVM_IOJS_VERSION="$($NVM_COMMAND)"
|
||||
NVM_IOJS_VERSION="$($NVM_COMMAND)" &&:
|
||||
EXIT_CODE="$?"
|
||||
if [ "_$EXIT_CODE" = "_0" ]; then
|
||||
NVM_IOJS_VERSION="$(nvm_echo "$NVM_IOJS_VERSION" | command sed "s/^$NVM_IMPLICIT-//" | nvm_grep -e '^v' | command cut -c2- | command cut -d . -f 1,2 | uniq | command tail -1)"
|
||||
@@ -1389,6 +1447,7 @@ nvm_get_os() {
|
||||
Darwin\ *) NVM_OS=darwin ;;
|
||||
SunOS\ *) NVM_OS=sunos ;;
|
||||
FreeBSD\ *) NVM_OS=freebsd ;;
|
||||
AIX\ *) NVM_OS=aix ;;
|
||||
esac
|
||||
nvm_echo "${NVM_OS-}"
|
||||
}
|
||||
@@ -1404,13 +1463,13 @@ nvm_get_arch() {
|
||||
# isainfo to get the instruction set supported by the
|
||||
# kernel.
|
||||
if [ "_$NVM_OS" = "_sunos" ]; then
|
||||
HOST_ARCH=$(pkg_info -Q MACHINE_ARCH pkg_install)
|
||||
EXIT_CODE=$?
|
||||
if [ $EXIT_CODE -ne 0 ]; then
|
||||
HOST_ARCH=$(isainfo -n)
|
||||
if HOST_ARCH=$(pkg_info -Q MACHINE_ARCH pkg_install); then
|
||||
HOST_ARCH=$(echo "${HOST_ARCH}" | command tail -1)
|
||||
else
|
||||
HOST_ARCH=$(echo "$HOST_ARCH" | command tail -1)
|
||||
HOST_ARCH=$(isainfo -n)
|
||||
fi
|
||||
elif [ "_$NVM_OS" = "_aix" ]; then
|
||||
HOST_ARCH=ppc64
|
||||
else
|
||||
HOST_ARCH="$(command uname -m)"
|
||||
fi
|
||||
@@ -1487,7 +1546,7 @@ nvm_get_mirror() {
|
||||
esac
|
||||
}
|
||||
|
||||
# args: flavor, kind, version, reinstall
|
||||
# args: flavor, type, version, reinstall
|
||||
nvm_install_binary() {
|
||||
local FLAVOR
|
||||
case "${1-}" in
|
||||
@@ -1498,19 +1557,19 @@ nvm_install_binary() {
|
||||
;;
|
||||
esac
|
||||
|
||||
local MIRROR
|
||||
MIRROR="$(nvm_get_mirror node "${2-}")"
|
||||
if [ -z "${MIRROR}" ]; then
|
||||
return 3
|
||||
fi
|
||||
local TYPE
|
||||
TYPE="${2-}"
|
||||
|
||||
local PREFIXED_VERSION
|
||||
PREFIXED_VERSION="${3-}"
|
||||
if [ -z "${PREFIXED_VERSION}" ]; then
|
||||
nvm_err 'A version number is required.'
|
||||
return 3
|
||||
fi
|
||||
|
||||
local VERSION
|
||||
VERSION="$(nvm_strip_iojs_prefix "${PREFIXED_VERSION}")"
|
||||
|
||||
local VERSION_PATH
|
||||
|
||||
if [ -z "$(nvm_get_os)" ]; then
|
||||
return 2
|
||||
fi
|
||||
@@ -1525,14 +1584,24 @@ nvm_install_binary() {
|
||||
local TMPDIR
|
||||
local VERSION_PATH
|
||||
|
||||
TARBALL="$(nvm_download_artifact "${FLAVOR}" binary std "${VERSION}" | command tail -1)"
|
||||
local NODE_OR_IOJS
|
||||
if [ "${FLAVOR}" = 'node' ]; then
|
||||
NODE_OR_IOJS="${FLAVOR}"
|
||||
fi
|
||||
nvm_echo "Downloading and installing ${NODE_OR_IOJS-} ${VERSION}..."
|
||||
TARBALL="$(nvm_download_artifact "${FLAVOR}" binary "${TYPE-}" "${VERSION}" | command tail -1)"
|
||||
if [ -f "${TARBALL}" ]; then
|
||||
TMPDIR="$(dirname "${TARBALL}")/files"
|
||||
fi
|
||||
local tar
|
||||
tar='tar'
|
||||
if [ "${NVM_OS}" = 'aix' ]; then
|
||||
tar='gtar'
|
||||
fi
|
||||
if (
|
||||
[ -n "${TMPDIR-}" ] && \
|
||||
command mkdir -p "${TMPDIR}" && \
|
||||
command tar -x${tar_compression_flag}f "${TARBALL}" -C "${TMPDIR}" --strip-components 1 && \
|
||||
command "${tar}" -x${tar_compression_flag}f "${TARBALL}" -C "${TMPDIR}" --strip-components 1 && \
|
||||
VERSION_PATH="$(nvm_version_path "${PREFIXED_VERSION}")" && \
|
||||
command mkdir -p "${VERSION_PATH}" && \
|
||||
command mv "${TMPDIR}/"* "${VERSION_PATH}" && \
|
||||
@@ -1569,7 +1638,7 @@ nvm_get_download_slug() {
|
||||
esac
|
||||
|
||||
local VERSION
|
||||
VERSION="${3}"
|
||||
VERSION="${3-}"
|
||||
|
||||
local NVM_OS
|
||||
NVM_OS="$(nvm_get_os)"
|
||||
@@ -1621,6 +1690,11 @@ nvm_download_artifact() {
|
||||
local VERSION
|
||||
VERSION="${4}"
|
||||
|
||||
if [ -z "${VERSION}" ]; then
|
||||
nvm_err 'A version number is required.'
|
||||
return 3
|
||||
fi
|
||||
|
||||
if [ "${KIND}" = 'binary' ] && ! nvm_binary_available "${VERSION}"; then
|
||||
nvm_err "No precompiled binary available for ${VERSION}."
|
||||
return
|
||||
@@ -1659,10 +1733,19 @@ nvm_download_artifact() {
|
||||
TARBALL_URL="${MIRROR}/${SLUG}.tar.${COMPRESSION}"
|
||||
fi
|
||||
|
||||
if [ -r "${TARBALL}" ]; then
|
||||
nvm_err "Local cache found: $(nvm_sanitize_path "${TARBALL}")"
|
||||
if nvm_compare_checksum "${TARBALL}" "${CHECKSUM}" >/dev/null 2>&1; then
|
||||
nvm_err "Checksums match! Using existing downloaded archive $(nvm_sanitize_path "${TARBALL}")"
|
||||
else
|
||||
nvm_echo "Downloading ${TARBALL_URL}..."
|
||||
nvm_echo "${TARBALL}"
|
||||
return 0
|
||||
fi
|
||||
nvm_compare_checksum "${TARBALL}" "${CHECKSUM}"
|
||||
nvm_err "Checksum check failed!"
|
||||
nvm_err "Removing the broken local cache..."
|
||||
command rm -rf "${TARBALL}"
|
||||
fi
|
||||
nvm_err "Downloading ${TARBALL_URL}..."
|
||||
nvm_download -L -C - --progress-bar "${TARBALL_URL}" -o "${TARBALL}" || (
|
||||
command rm -rf "${TARBALL}" "${tmpdir}"
|
||||
nvm_err "Binary download from ${TARBALL_URL} failed, trying source."
|
||||
@@ -1679,7 +1762,6 @@ nvm_download_artifact() {
|
||||
command rm -rf "${tmpdir}/files"
|
||||
return 6
|
||||
)
|
||||
fi
|
||||
|
||||
nvm_echo "${TARBALL}"
|
||||
}
|
||||
@@ -1695,26 +1777,33 @@ nvm_get_make_jobs() {
|
||||
fi
|
||||
local NVM_OS
|
||||
NVM_OS="$(nvm_get_os)"
|
||||
local NVM_CPU_THREADS
|
||||
if [ "_$NVM_OS" = "_linux" ]; then
|
||||
NVM_CPU_THREADS="$(nvm_grep -c -E '^processor.+: [0-9]+' /proc/cpuinfo)"
|
||||
elif [ "_$NVM_OS" = "_freebsd" ] || [ "_$NVM_OS" = "_darwin" ]; then
|
||||
NVM_CPU_THREADS="$(sysctl -n hw.ncpu)"
|
||||
elif [ "_$NVM_OS" = "_sunos" ]; then
|
||||
NVM_CPU_THREADS="$(psrinfo | wc -l)"
|
||||
fi
|
||||
if ! nvm_is_natural_num "$NVM_CPU_THREADS" ; then
|
||||
nvm_err 'Can not determine how many thread(s) we can use, set to only 1 now.'
|
||||
nvm_err 'Please report an issue on GitHub to help us make it better and run it faster on your computer!'
|
||||
local NVM_CPU_CORES
|
||||
case "_$NVM_OS" in
|
||||
"_linux")
|
||||
NVM_CPU_CORES="$(nvm_grep -c -E '^processor.+: [0-9]+' /proc/cpuinfo)"
|
||||
;;
|
||||
"_freebsd" | "_darwin")
|
||||
NVM_CPU_CORES="$(sysctl -n hw.ncpu)"
|
||||
;;
|
||||
"_sunos")
|
||||
NVM_CPU_CORES="$(psrinfo | wc -l)"
|
||||
;;
|
||||
"_aix")
|
||||
NVM_CPU_CORES="$(pmcycles -m | wc -l)"
|
||||
;;
|
||||
esac
|
||||
if ! nvm_is_natural_num "$NVM_CPU_CORES" ; then
|
||||
nvm_err 'Can not determine how many core(s) are available, running in single-threaded mode.'
|
||||
nvm_err 'Please report an issue on GitHub to help us make nvm run faster on your computer!'
|
||||
NVM_MAKE_JOBS=1
|
||||
else
|
||||
nvm_echo "Detected that you have $NVM_CPU_THREADS CPU thread(s)"
|
||||
if [ "$NVM_CPU_THREADS" -gt 2 ]; then
|
||||
NVM_MAKE_JOBS=$((NVM_CPU_THREADS - 1))
|
||||
nvm_echo "Set the number of jobs to $NVM_CPU_THREADS - 1 = $NVM_MAKE_JOBS jobs to speed up the build"
|
||||
nvm_echo "Detected that you have $NVM_CPU_CORES CPU core(s)"
|
||||
if [ "$NVM_CPU_CORES" -gt 2 ]; then
|
||||
NVM_MAKE_JOBS=$((NVM_CPU_CORES - 1))
|
||||
nvm_echo "Running with $NVM_MAKE_JOBS threads to speed up the build"
|
||||
else
|
||||
NVM_MAKE_JOBS=1
|
||||
nvm_echo 'Number of CPU thread(s) less or equal to 2 will have only one job a time for `make`'
|
||||
nvm_echo 'Number of CPU core(s) less than or equal to 2, running in single-threaded mode'
|
||||
fi
|
||||
fi
|
||||
}
|
||||
@@ -1735,6 +1824,11 @@ nvm_install_source() {
|
||||
|
||||
local PREFIXED_VERSION
|
||||
PREFIXED_VERSION="${3-}"
|
||||
if [ -z "${PREFIXED_VERSION}" ]; then
|
||||
nvm_err 'A version number is required.'
|
||||
return 3
|
||||
fi
|
||||
|
||||
local VERSION
|
||||
VERSION="$(nvm_strip_iojs_prefix "${PREFIXED_VERSION}")"
|
||||
|
||||
@@ -1759,9 +1853,24 @@ nvm_install_source() {
|
||||
|
||||
local make
|
||||
make='make'
|
||||
if [ "${NVM_OS}" = 'freebsd' ]; then
|
||||
local MAKE_CXX
|
||||
case "${NVM_OS}" in
|
||||
'freebsd')
|
||||
make='gmake'
|
||||
MAKE_CXX='CXX=c++'
|
||||
MAKE_CXX="CC=${CC:-cc} CXX=${CXX:-c++}"
|
||||
;;
|
||||
'darwin')
|
||||
MAKE_CXX="CC=${CC:-cc} CXX=${CXX:-c++}"
|
||||
;;
|
||||
'aix')
|
||||
make='gmake'
|
||||
;;
|
||||
esac
|
||||
if nvm_has "clang++" && nvm_has "clang" && nvm_version_greater_than_or_equal_to nvm_clang_version 3.5; then
|
||||
if [ -z "${CC-}" ] || [ -z "${CXX-}" ] ; then
|
||||
nvm_echo "Clang v3.5+ detected! CC or CXX not specified, will use Clang as c/c++ compiler!"
|
||||
MAKE_CXX="CC=${CC:-cc} CXX=${CXX:-c++}"
|
||||
fi
|
||||
fi
|
||||
|
||||
local tar_compression_flag
|
||||
@@ -1770,24 +1879,29 @@ nvm_install_source() {
|
||||
tar_compression_flag='J'
|
||||
fi
|
||||
|
||||
local tar
|
||||
tar='tar'
|
||||
if [ "${NVM_OS}" = 'aix' ]; then
|
||||
tar='gtar'
|
||||
fi
|
||||
|
||||
local TARBALL
|
||||
local TMPDIR
|
||||
local VERSION_PATH
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
if (
|
||||
TARBALL="$(nvm_download_artifact "${FLAVOR}" source "${TYPE}" "${VERSION}" | command tail -1)" && \
|
||||
[ -f "${TARBALL}" ] && \
|
||||
TMPDIR="$(dirname "${TARBALL}")/files" && \
|
||||
if (
|
||||
# shellcheck disable=SC2086
|
||||
command mkdir -p "${TMPDIR}" && \
|
||||
command tar -x${tar_compression_flag}f "${TARBALL}" -C "${TMPDIR}" --strip-components 1 && \
|
||||
command "${tar}" -x${tar_compression_flag}f "${TARBALL}" -C "${TMPDIR}" --strip-components 1 && \
|
||||
VERSION_PATH="$(nvm_version_path "${PREFIXED_VERSION}")" && \
|
||||
cd "${TMPDIR}" && \
|
||||
nvm_cd "${TMPDIR}" && \
|
||||
./configure --prefix="${VERSION_PATH}" $ADDITIONAL_PARAMETERS && \
|
||||
$make -j "${NVM_MAKE_JOBS}" ${MAKE_CXX-} && \
|
||||
command rm -f "${VERSION_PATH}" 2>/dev/null && \
|
||||
$make -j "${NVM_MAKE_JOBS}" ${MAKE_CXX-} install && \
|
||||
command rm -rf "${TMPDIR}"
|
||||
$make -j "${NVM_MAKE_JOBS}" ${MAKE_CXX-} install
|
||||
); then
|
||||
if ! nvm_has "npm" ; then
|
||||
nvm_echo 'Installing npm...'
|
||||
@@ -1807,6 +1921,7 @@ nvm_install_source() {
|
||||
fi
|
||||
|
||||
nvm_err "nvm: install ${VERSION} failed!"
|
||||
command rm -rf "${TMPDIR-}"
|
||||
return 1
|
||||
}
|
||||
|
||||
@@ -1883,10 +1998,10 @@ nvm_die_on_prefix() {
|
||||
fi
|
||||
|
||||
local NVM_NPM_PREFIX
|
||||
NVM_NPM_PREFIX="$(NPM_CONFIG_LOGLEVEL=warn npm config get prefix)"
|
||||
NVM_NPM_PREFIX="$(npm config --loglevel=warn get prefix)"
|
||||
if ! (nvm_tree_contains_path "$NVM_DIR" "$NVM_NPM_PREFIX" >/dev/null 2>&1); then
|
||||
if [ "_$NVM_DELETE_PREFIX" = "_1" ]; then
|
||||
NPM_CONFIG_LOGLEVEL=warn npm config delete prefix
|
||||
npm config --loglevel=warn delete prefix
|
||||
else
|
||||
nvm deactivate >/dev/null 2>&1
|
||||
nvm_err "nvm is not compatible with the npm config \"prefix\" option: currently set to \"$NVM_NPM_PREFIX\""
|
||||
@@ -1979,16 +2094,31 @@ nvm_is_natural_num() {
|
||||
|
||||
# Check version dir permissions
|
||||
nvm_check_file_permissions() {
|
||||
local ZSH_HAS_NONOMATCH_UNSET
|
||||
ZSH_HAS_NONOMATCH_UNSET=1
|
||||
if nvm_has "setopt"; then
|
||||
ZSH_HAS_NONOMATCH_UNSET="$(set +e ; setopt | nvm_grep nonomatch > /dev/null ; nvm_echo $?)"
|
||||
setopt nonomatch
|
||||
fi
|
||||
for FILE in $1/* $1/.[!.]* $1/..?* ; do
|
||||
if [ -d "$FILE" ]; then
|
||||
if ! nvm_check_file_permissions "$FILE"; then
|
||||
if [ "${ZSH_HAS_NONOMATCH_UNSET}" -eq 1 ] && nvm_has "setopt"; then
|
||||
setopt nomatch
|
||||
fi
|
||||
return 2
|
||||
fi
|
||||
elif [ -e "$FILE" ] && [ ! -w "$FILE" ]; then
|
||||
nvm_err "file is not writable: $(nvm_sanitize_path "$FILE")"
|
||||
elif [ -e "$FILE" ] && [ ! -w "$FILE" ] && [ ! -O "$FILE" ]; then
|
||||
nvm_err "file is not writable or self-owned: $(nvm_sanitize_path "$FILE")"
|
||||
if [ "${ZSH_HAS_NONOMATCH_UNSET}" -eq 1 ] && nvm_has "setopt"; then
|
||||
setopt nomatch
|
||||
fi
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
if [ "${ZSH_HAS_NONOMATCH_UNSET}" -eq 1 ] && nvm_has "setopt"; then
|
||||
setopt nomatch
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -2209,7 +2339,7 @@ nvm() {
|
||||
|
||||
VERSION="$(NVM_VERSION_ONLY=true NVM_LTS="${LTS-}" nvm_remote_version "${provided_version}")"
|
||||
|
||||
if [ "_$VERSION" = "_N/A" ]; then
|
||||
if [ "${VERSION}" = 'N/A' ]; then
|
||||
local LTS_MSG
|
||||
local REMOTE_CMD
|
||||
if [ "${LTS-}" = '*' ]; then
|
||||
@@ -2234,11 +2364,11 @@ nvm() {
|
||||
case "$1" in
|
||||
--reinstall-packages-from=*)
|
||||
PROVIDED_REINSTALL_PACKAGES_FROM="$(nvm_echo "$1" | command cut -c 27-)"
|
||||
REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM" || return 0)"
|
||||
REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" ||:
|
||||
;;
|
||||
--copy-packages-from=*)
|
||||
PROVIDED_REINSTALL_PACKAGES_FROM="$(nvm_echo "$1" | command cut -c 22-)"
|
||||
REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM" || return 0)"
|
||||
REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" ||:
|
||||
;;
|
||||
*)
|
||||
ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"
|
||||
@@ -2247,10 +2377,10 @@ nvm() {
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "_$(nvm_ensure_version_prefix "$PROVIDED_REINSTALL_PACKAGES_FROM")" = "_$VERSION" ]; then
|
||||
if [ -n "${PROVIDED_REINSTALL_PACKAGES_FROM-}" ] && [ "$(nvm_ensure_version_prefix "${PROVIDED_REINSTALL_PACKAGES_FROM}")" = "${VERSION}" ]; then
|
||||
nvm_err "You can't reinstall global packages from the same version of node you're installing."
|
||||
return 4
|
||||
elif [ ! -z "$PROVIDED_REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" = "_N/A" ]; then
|
||||
elif [ "${REINSTALL_PACKAGES_FROM-}" = 'N/A' ]; then
|
||||
nvm_err "If --reinstall-packages-from is provided, it must point to an installed version of node."
|
||||
return 5
|
||||
fi
|
||||
@@ -2275,6 +2405,30 @@ nvm() {
|
||||
return $?
|
||||
fi
|
||||
|
||||
local NVM_INSTALL_SUCCESS
|
||||
NVM_INSTALL_SUCCESS=false
|
||||
if [ -n "${NVM_INSTALL_THIRD_PARTY_HOOK-}" ]; then
|
||||
nvm_err '** $NVM_INSTALL_THIRD_PARTY_HOOK env var set; dispatching to third-party installation method **'
|
||||
local NVM_METHOD_PREFERENCE
|
||||
NVM_METHOD_PREFERENCE='binary'
|
||||
if [ $nobinary -eq 1 ]; then
|
||||
NVM_METHOD_PREFERENCE='source'
|
||||
fi
|
||||
local VERSION_PATH
|
||||
VERSION_PATH="$(nvm_version_path "${VERSION}")"
|
||||
local EXIT_CODE
|
||||
"${NVM_INSTALL_THIRD_PARTY_HOOK}" "${VERSION}" "${FLAVOR}" std "${NVM_METHOD_PREFERENCE}" "${VERSION_PATH}" || {
|
||||
EXIT_CODE=$?
|
||||
nvm_err '*** Third-party $NVM_INSTALL_THIRD_PARTY_HOOK env var failed to install! ***'
|
||||
return $EXIT_CODE
|
||||
}
|
||||
if ! nvm_is_version_installed "${VERSION}"; then
|
||||
nvm_err '*** Third-party $NVM_INSTALL_THIRD_PARTY_HOOK env var claimed to succeed, but failed to install! ***'
|
||||
return 33
|
||||
fi
|
||||
NVM_INSTALL_SUCCESS=true
|
||||
else
|
||||
|
||||
if [ "_$NVM_OS" = "_freebsd" ]; then
|
||||
# node.js and io.js do not have a FreeBSD binary
|
||||
nobinary=1
|
||||
@@ -2287,7 +2441,6 @@ nvm() {
|
||||
fi
|
||||
fi
|
||||
|
||||
local NVM_INSTALL_SUCCESS
|
||||
# skip binary install if "nobinary" option specified.
|
||||
if [ $nobinary -ne 1 ] && nvm_binary_available "$VERSION"; then
|
||||
if nvm_install_binary "${FLAVOR}" std "${VERSION}"; then
|
||||
@@ -2304,6 +2457,8 @@ nvm() {
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ "$NVM_INSTALL_SUCCESS" = true ] && nvm use "$VERSION"; then
|
||||
nvm_ensure_default_set "$provided_version"
|
||||
if [ ! -z "$REINSTALL_PACKAGES_FROM" ] \
|
||||
@@ -2422,7 +2577,7 @@ nvm() {
|
||||
nvm_echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
|
||||
fi
|
||||
fi
|
||||
unset NVM_BIN NVM_PATH
|
||||
unset NVM_BIN
|
||||
;;
|
||||
"use" )
|
||||
local PROVIDED_VERSION
|
||||
@@ -2490,13 +2645,15 @@ nvm() {
|
||||
fi
|
||||
return 8
|
||||
fi
|
||||
|
||||
if [ "${VERSION}" = 'N/A' ]; then
|
||||
nvm_err "N/A: version \"${PROVIDED_VERSION} -> ${VERSION}\" is not yet installed."
|
||||
nvm_err ""
|
||||
nvm_err "You need to run \"nvm install ${PROVIDED_VERSION}\" to install it before using it."
|
||||
return 3
|
||||
# This nvm_ensure_version_installed call can be a performance bottleneck
|
||||
# on shell startup. Perhaps we can optimize it away or make it faster.
|
||||
nvm_ensure_version_installed "${VERSION}"
|
||||
EXIT_CODE=$?
|
||||
if [ "$EXIT_CODE" != "0" ]; then
|
||||
return $EXIT_CODE
|
||||
elif ! nvm_ensure_version_installed "${VERSION}"; then
|
||||
return $?
|
||||
fi
|
||||
|
||||
local NVM_VERSION_DIR
|
||||
@@ -2518,7 +2675,6 @@ nvm() {
|
||||
fi
|
||||
export PATH
|
||||
hash -r
|
||||
export NVM_PATH="$NVM_VERSION_DIR/lib/node"
|
||||
export NVM_BIN="$NVM_VERSION_DIR/bin"
|
||||
if [ "${NVM_SYMLINK_CURRENT-}" = true ]; then
|
||||
command rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current"
|
||||
@@ -2579,7 +2735,7 @@ nvm() {
|
||||
nvm_rc_version && has_checked_nvmrc=1
|
||||
fi
|
||||
if [ -n "$NVM_RC_VERSION" ]; then
|
||||
VERSION="$(nvm_version "$NVM_RC_VERSION" || return 0)"
|
||||
VERSION="$(nvm_version "$NVM_RC_VERSION")" ||:
|
||||
fi
|
||||
if [ "${VERSION:-N/A}" = 'N/A' ]; then
|
||||
>&2 nvm --help
|
||||
@@ -2590,7 +2746,7 @@ nvm() {
|
||||
if [ -z "${NVM_LTS-}" ]; then
|
||||
provided_version="$1"
|
||||
if [ -n "$provided_version" ]; then
|
||||
VERSION="$(nvm_version "$provided_version" || return 0)"
|
||||
VERSION="$(nvm_version "$provided_version")" ||:
|
||||
if [ "_${VERSION:-N/A}" = '_N/A' ] && ! nvm_is_valid_version "$provided_version"; then
|
||||
provided_version=''
|
||||
if [ $has_checked_nvmrc -ne 1 ]; then
|
||||
@@ -2600,7 +2756,7 @@ nvm() {
|
||||
nvm_rc_version && has_checked_nvmrc=1
|
||||
fi
|
||||
fi
|
||||
VERSION="$(nvm_version "$NVM_RC_VERSION" || return 0)"
|
||||
VERSION="$(nvm_version "$NVM_RC_VERSION")" ||:
|
||||
else
|
||||
shift
|
||||
fi
|
||||
@@ -2668,7 +2824,7 @@ nvm() {
|
||||
provided_version="lts/${NVM_LTS:-*}"
|
||||
VERSION="$provided_version"
|
||||
elif [ -n "$provided_version" ]; then
|
||||
VERSION="$(nvm_version "$provided_version" || return 0)"
|
||||
VERSION="$(nvm_version "$provided_version")" ||:
|
||||
if [ "_$VERSION" = '_N/A' ] && ! nvm_is_valid_version "$provided_version"; then
|
||||
if [ -n "${NVM_SILENT-}" ]; then
|
||||
nvm_rc_version >/dev/null 2>&1
|
||||
@@ -2676,7 +2832,7 @@ nvm() {
|
||||
nvm_rc_version
|
||||
fi
|
||||
provided_version="$NVM_RC_VERSION"
|
||||
VERSION="$(nvm_version "$provided_version" || return 0)"
|
||||
VERSION="$(nvm_version "$provided_version")" ||:
|
||||
else
|
||||
shift
|
||||
fi
|
||||
@@ -2734,25 +2890,18 @@ nvm() {
|
||||
return $NVM_LS_EXIT_CODE
|
||||
;;
|
||||
"ls-remote" | "list-remote" )
|
||||
local LTS
|
||||
local NVM_IOJS_PREFIX
|
||||
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||
local NVM_NODE_PREFIX
|
||||
NVM_NODE_PREFIX="$(nvm_node_prefix)"
|
||||
local NVM_LTS
|
||||
local PATTERN
|
||||
local NVM_FLAVOR
|
||||
local NVM_NO_COLORS
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
case "${1-}" in
|
||||
--) ;;
|
||||
--lts)
|
||||
LTS='*'
|
||||
NVM_FLAVOR="${NVM_NODE_PREFIX}"
|
||||
NVM_LTS='*'
|
||||
;;
|
||||
--lts=*)
|
||||
LTS="${1##--lts=}"
|
||||
NVM_FLAVOR="${NVM_NODE_PREFIX}"
|
||||
NVM_LTS="${1##--lts=}"
|
||||
;;
|
||||
--no-colors) NVM_NO_COLORS="${1}" ;;
|
||||
--*)
|
||||
@@ -2762,22 +2911,10 @@ nvm() {
|
||||
*)
|
||||
if [ -z "${PATTERN-}" ]; then
|
||||
PATTERN="${1-}"
|
||||
if [ -z "${NVM_FLAVOR-}" ]; then
|
||||
if [ -z "${NVM_LTS-}" ]; then
|
||||
case "${PATTERN}" in
|
||||
"${NVM_IOJS_PREFIX}" | "${NVM_NODE_PREFIX}")
|
||||
NVM_FLAVOR="${PATTERN}"
|
||||
PATTERN=""
|
||||
;;
|
||||
'lts/*')
|
||||
LTS='*'
|
||||
PATTERN=''
|
||||
NVM_FLAVOR="${NVM_NODE_PREFIX}"
|
||||
;;
|
||||
lts/*)
|
||||
LTS="${PATTERN##lts/}"
|
||||
PATTERN=''
|
||||
NVM_FLAVOR="${NVM_NODE_PREFIX}"
|
||||
;;
|
||||
'lts/*') NVM_LTS='*' ;;
|
||||
lts/*) NVM_LTS="${PATTERN##lts/}" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
@@ -2786,37 +2923,13 @@ nvm() {
|
||||
shift
|
||||
done
|
||||
|
||||
local NVM_LS_REMOTE_EXIT_CODE
|
||||
NVM_LS_REMOTE_EXIT_CODE=0
|
||||
local NVM_LS_REMOTE_PRE_MERGED_OUTPUT
|
||||
NVM_LS_REMOTE_PRE_MERGED_OUTPUT=''
|
||||
local NVM_LS_REMOTE_POST_MERGED_OUTPUT
|
||||
NVM_LS_REMOTE_POST_MERGED_OUTPUT=''
|
||||
if [ "_$NVM_FLAVOR" != "_$NVM_IOJS_PREFIX" ]; then
|
||||
local NVM_LS_REMOTE_OUTPUT
|
||||
NVM_LS_REMOTE_OUTPUT=$(NVM_LTS="${LTS-}" nvm_ls_remote "$PATTERN")
|
||||
# split output into two
|
||||
NVM_LS_REMOTE_PRE_MERGED_OUTPUT="${NVM_LS_REMOTE_OUTPUT%%v4\.0\.0*}"
|
||||
NVM_LS_REMOTE_POST_MERGED_OUTPUT="${NVM_LS_REMOTE_OUTPUT#$NVM_LS_REMOTE_PRE_MERGED_OUTPUT}"
|
||||
NVM_LS_REMOTE_EXIT_CODE=$?
|
||||
fi
|
||||
|
||||
local NVM_LS_REMOTE_IOJS_EXIT_CODE
|
||||
NVM_LS_REMOTE_IOJS_EXIT_CODE=0
|
||||
local NVM_LS_REMOTE_IOJS_OUTPUT
|
||||
NVM_LS_REMOTE_IOJS_OUTPUT=''
|
||||
if [ "_$NVM_FLAVOR" != "_$NVM_NODE_PREFIX" ] && [ -z "${LTS-}" ]; then
|
||||
NVM_LS_REMOTE_IOJS_OUTPUT=$(nvm_ls_remote_iojs "$PATTERN")
|
||||
NVM_LS_REMOTE_IOJS_EXIT_CODE=$?
|
||||
fi
|
||||
|
||||
local NVM_OUTPUT
|
||||
NVM_OUTPUT="$(nvm_echo "$NVM_LS_REMOTE_PRE_MERGED_OUTPUT
|
||||
$NVM_LS_REMOTE_IOJS_OUTPUT
|
||||
$NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
local EXIT_CODE
|
||||
NVM_OUTPUT="$(NVM_LTS="${NVM_LTS-}" nvm_remote_versions "${PATTERN}" &&:)"
|
||||
EXIT_CODE=$?
|
||||
if [ -n "$NVM_OUTPUT" ]; then
|
||||
NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "$NVM_OUTPUT"
|
||||
return $NVM_LS_REMOTE_EXIT_CODE || $NVM_LS_REMOTE_IOJS_EXIT_CODE
|
||||
return $EXIT_CODE
|
||||
else
|
||||
NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "N/A"
|
||||
return 3
|
||||
@@ -2832,10 +2945,10 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
nvm_rc_version
|
||||
if [ -n "${NVM_RC_VERSION}" ]; then
|
||||
provided_version="${NVM_RC_VERSION}"
|
||||
VERSION=$(nvm_version "${NVM_RC_VERSION}" || return 0)
|
||||
VERSION=$(nvm_version "${NVM_RC_VERSION}") ||:
|
||||
fi
|
||||
elif [ "_${1}" != '_system' ]; then
|
||||
VERSION="$(nvm_version "${provided_version}" || return 0)"
|
||||
VERSION="$(nvm_version "${provided_version}")" ||:
|
||||
else
|
||||
VERSION="${1-}"
|
||||
fi
|
||||
@@ -2916,7 +3029,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
nvm_err 'Aliases in subdirectories are not supported.'
|
||||
return 1
|
||||
fi
|
||||
VERSION="$(nvm_version "${TARGET}" || return 0)"
|
||||
VERSION="$(nvm_version "${TARGET}")" ||:
|
||||
if [ "${VERSION}" = 'N/A' ]; then
|
||||
nvm_err "! WARNING: Version '${TARGET}' does not exist."
|
||||
fi
|
||||
@@ -2957,7 +3070,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
local PROVIDED_VERSION
|
||||
PROVIDED_VERSION="${1-}"
|
||||
|
||||
if [ "$PROVIDED_VERSION" = "$(nvm_ls_current)" ] || [ "$(nvm_version "$PROVIDED_VERSION" || return 0)" = "$(nvm_ls_current)" ]; then
|
||||
if [ "$PROVIDED_VERSION" = "$(nvm_ls_current)" ] || [ "$(nvm_version "$PROVIDED_VERSION" ||:)" = "$(nvm_ls_current)" ]; then
|
||||
nvm_err 'Can not reinstall packages from the current version of node.'
|
||||
return 2
|
||||
fi
|
||||
@@ -2970,7 +3083,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
fi
|
||||
VERSION="system"
|
||||
else
|
||||
VERSION="$(nvm_version "$PROVIDED_VERSION" || return 0)"
|
||||
VERSION="$(nvm_version "$PROVIDED_VERSION")" ||:
|
||||
fi
|
||||
|
||||
local NPMLIST
|
||||
@@ -2989,7 +3102,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
for LINK in $LINKS; do
|
||||
set +f; unset IFS # restore variable expansion
|
||||
if [ -n "$LINK" ]; then
|
||||
(cd "$LINK" && npm link)
|
||||
(nvm_cd "$LINK" && npm link)
|
||||
fi
|
||||
done
|
||||
set +f; unset IFS # restore variable expansion in case $LINKS was empty
|
||||
@@ -3037,7 +3150,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
NVM_VERSION_ONLY=true NVM_LTS="${NVM_LTS-}" nvm_remote_version "${PATTERN:-node}"
|
||||
;;
|
||||
"--version" )
|
||||
nvm_echo '0.32.0'
|
||||
nvm_echo '0.33.0'
|
||||
;;
|
||||
"unload" )
|
||||
unset -f nvm \
|
||||
@@ -3046,7 +3159,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
nvm_is_iojs_version nvm_is_alias \
|
||||
nvm_ls_remote nvm_ls_remote_iojs nvm_ls_remote_index_tab \
|
||||
nvm_ls nvm_remote_version nvm_remote_versions \
|
||||
nvm_install_binary \
|
||||
nvm_install_binary nvm_clang_version \
|
||||
nvm_get_mirror nvm_get_download_slug nvm_download_artifact \
|
||||
nvm_install_source nvm_check_file_permissions \
|
||||
nvm_print_versions nvm_compute_checksum nvm_checksum \
|
||||
@@ -3058,7 +3171,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
nvm_binary_available nvm_prepend_path nvm_strip_path \
|
||||
nvm_num_version_groups nvm_format_version nvm_ensure_version_prefix \
|
||||
nvm_normalize_version nvm_is_valid_version \
|
||||
nvm_ensure_version_installed \
|
||||
nvm_ensure_version_installed nvm_cache_dir \
|
||||
nvm_version_path nvm_alias_path nvm_version_dir \
|
||||
nvm_find_nvmrc nvm_find_up nvm_tree_contains_path \
|
||||
nvm_version_greater nvm_version_greater_than_or_equal_to \
|
||||
@@ -3066,15 +3179,18 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||
nvm_has_system_node nvm_has_system_iojs \
|
||||
nvm_download nvm_get_latest nvm_has \
|
||||
nvm_supports_source_options nvm_auto nvm_supports_xz \
|
||||
nvm_echo nvm_err nvm_grep \
|
||||
nvm_echo nvm_err nvm_grep nvm_cd \
|
||||
nvm_die_on_prefix nvm_get_make_jobs nvm_get_minor_version \
|
||||
nvm_has_solaris_binary nvm_is_merged_node_version \
|
||||
nvm_is_natural_num nvm_is_version_installed \
|
||||
nvm_list_aliases nvm_make_alias nvm_print_alias_path \
|
||||
nvm_print_default_alias nvm_print_formatted_alias nvm_resolve_local_alias \
|
||||
nvm_sanitize_path nvm_has_colors nvm_process_parameters \
|
||||
node_version_has_solaris_binary iojs_version_has_solaris_binary \
|
||||
> /dev/null 2>&1
|
||||
unset RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_IOJS_ORG_MIRROR NVM_DIR \
|
||||
NVM_CD_FLAGS NVM_BIN NVM_MAKE_JOBS \
|
||||
> /dev/null 2>&1
|
||||
unset RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_IOJS_ORG_MIRROR NVM_DIR NVM_CD_FLAGS > /dev/null 2>&1
|
||||
;;
|
||||
* )
|
||||
>&2 nvm --help
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nvm",
|
||||
"version": "0.32.0",
|
||||
"version": "0.33.0",
|
||||
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
||||
"directories": {
|
||||
"test": "test"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
OUTPUT="$(nvm alias foo/bar baz 2>&1)"
|
||||
EXPECTED_OUTPUT="Aliases in subdirectories are not supported."
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
OUTPUT="$(nvm unalias foo/bar 2>&1)"
|
||||
EXPECTED_OUTPUT="Aliases in subdirectories are not supported."
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
. ../../common.sh
|
||||
\. ../../../nvm.sh
|
||||
\. ../../common.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
if [ -n "$ZSH_VERSION" ]; then
|
||||
# set clobber option in order to test that this does not produce any
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
[ $(nvm alias test-stable-1 | wc -l) = '2' ]
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
. ../../common.sh
|
||||
\. ../../../nvm.sh
|
||||
\. ../../common.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
NVM_ALIAS_OUTPUT=$(nvm alias | strip_colors)
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
. ../../common.sh
|
||||
\. ../../../nvm.sh
|
||||
\. ../../common.sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
cleanup () {
|
||||
rm -rf "$(nvm_alias_path)/stable"
|
||||
rm -rf "$(nvm_alias_path)/unstable"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
. ../../common.sh
|
||||
\. ../../../nvm.sh
|
||||
\. ../../common.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
NVM_ALIAS_OUTPUT="$(nvm alias | strip_colors)"
|
||||
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-1 -> 0.0.1 (-> v0.0.1)' \
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
. ../../../common.sh
|
||||
\. ../../../common.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../../nvm.sh
|
||||
\. ../../../../nvm.sh
|
||||
|
||||
ALIAS="$(nvm_resolve_alias loopback | strip_colors)"
|
||||
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_alias loopback was not ∞; got $ALIAS"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
. ../../../common.sh
|
||||
\. ../../../common.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../../nvm.sh
|
||||
\. ../../../../nvm.sh
|
||||
|
||||
ALIAS="$(nvm_resolve_local_alias loopback | strip_colors)"
|
||||
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_local_alias loopback was not ∞; got $ALIAS"
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
set -ex
|
||||
|
||||
. ../../../../nvm.sh
|
||||
. ../../../common.sh
|
||||
\. ../../../../nvm.sh
|
||||
\. ../../../common.sh
|
||||
|
||||
LTS_ALIAS_PATH="$(nvm_alias_path)/lts"
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
[ ! -d "${LTS_ALIAS_PATH}" ] || die "'${LTS_ALIAS_PATH}' exists and should not"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../../nvm.sh
|
||||
\. ../../../../nvm.sh
|
||||
|
||||
LTS_ALIAS_PATH="$(nvm_alias_path)/lts"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../../nvm.sh
|
||||
\. ../../../../nvm.sh
|
||||
|
||||
LTS_ALIAS_PATH="$(nvm_alias_path)/lts"
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../common.sh
|
||||
\. ../../common.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
nvm alias default 0.1 >/dev/null || die "'nvm alias default 0.1' failed"
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
EXIT_CODE=$(nvm_resolve_alias ; echo $?)
|
||||
[ $EXIT_CODE = "1" ] || die "nvm_resolve_alias without an argument did not return 1; got $EXIT_CODE"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
EXIT_CODE=$(nvm_resolve_local_alias ; echo $?)
|
||||
[ "_$EXIT_CODE" = "_1" ] || die "nvm_resolve_local_alias without an argument did not return 1; got $EXIT_CODE"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir -p "${NVM_DIR}/v0.0.2"
|
||||
mkdir -p "${NVM_DIR}/v0.0.20"
|
||||
mkdir -p "${NVM_DIR}/versions/node/v0.12.0"
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
# The result should contain only the appropriate version numbers.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
nvm which nonexistent_version
|
||||
[ "_$?" = "_1" ]
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir "${NVM_DIR}/v0.0.2"
|
||||
mkdir "${NVM_DIR}/v0.0.20"
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
# The result should contain only the appropriate version numbers.
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir "${NVM_DIR}/v0.1.3"
|
||||
mkdir "${NVM_DIR}/v0.2.3"
|
||||
mkdir "${NVM_DIR}/v0.20.3"
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
# The result should contain only the appropriate version numbers.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
nvm ls nonexistent_version
|
||||
[ "$?" = "3" ]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
nvm ls io
|
||||
[ "$?" = "3" ]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
nvm ls node_
|
||||
[ "$?" = "3" ]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
mkdir "${NVM_DIR}/v0.2.3"
|
||||
mkdir "${NVM_DIR}/v0.3.3"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir -p "${NVM_DIR}/v0.0.1"
|
||||
mkdir -p "${NVM_DIR}/v0.0.3"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir "${NVM_DIR}/v0.0.1"
|
||||
mkdir "${NVM_DIR}/v0.0.3"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir "${NVM_DIR}/v0.1.3"
|
||||
mkdir "${NVM_DIR}/v0.2.3"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir "${NVM_DIR}/v0.1.3"
|
||||
mkdir "${NVM_DIR}/v0.2.3"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir -p "${NVM_DIR}/v0.0.1"
|
||||
mkdir -p "${NVM_DIR}/v0.0.3"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir -p "${NVM_DIR}/versions/node/v0.12.1"
|
||||
mkdir "${NVM_DIR}/v0.1.3"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir "${NVM_DIR}/v0.1.2"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
set -ex
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
nvm alias test v0.1.2
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
nvm deactivate 2>&1
|
||||
|
||||
|
||||
@@ -4,21 +4,19 @@ set -ex
|
||||
|
||||
mkdir -p ../../v0.2.3
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
[ `expr $PATH : ".*v0.2.3/.*/bin"` = 0 ] || echo "WARNING: Unexpectedly found v0.2.3 already active" >&2
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
nvm use --delete-prefix v0.2.3 || die "Failed to activate v0.2.3"
|
||||
[ `expr "$PATH" : ".*v0.2.3/.*/bin"` != 0 ] || die "PATH not set up properly"
|
||||
[ `expr "$NODE_PATH" : ".*v0.2.3/.*/lib/node_modules"` = 0 ] || die "NODE_PATH should not contain (npm root -g)"
|
||||
[ `expr "$NVM_BIN" : ".*v0.2.3/bin"` != 0 ] || die "NODE_BIN should contain bin directory path"
|
||||
[ `expr "$NVM_PATH" : ".*v0.2.3/lib/node"` != 0 ] || die "NODE_PATH should contain lib node directory path"
|
||||
# ^ note: NODE_PATH should not contain `npm root -g` since globals should not be requireable
|
||||
[ `expr "$NVM_BIN" : ".*v0.2.3/bin"` != 0 ] || die "NODE_BIN should contain bin directory path"
|
||||
|
||||
nvm deactivate || die "Failed to deactivate v0.2.3"
|
||||
[ `expr "$PATH" : ".*v0.2.3/.*/bin"` = 0 ] || die "PATH not cleaned properly"
|
||||
[ `expr "$NODE_PATH" : ".*v0.2.3/.*/lib/node_modules"` = 0 ] || die "NODE_PATH not cleaned properly"
|
||||
[ "_$NVM_BIN" = "_" ] || die "NVM_BIN should be unset: got '$NVM_BIN'"
|
||||
[ "_$NVM_PATH" = "_" ] || die "NVM_PATH should be unset: got '$NVM_PATH'"
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
cleanup () {
|
||||
rm -rf "${NVM_DIR}/v0.10.4"
|
||||
}
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
mkdir "${NVM_DIR}/v0.10.4"
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
set +ex # needed for stderr
|
||||
OUTPUT="$(nvm install invalid.invalid 2>&1)"
|
||||
|
||||
@@ -6,7 +6,7 @@ ALIAS_PATH="../../alias"
|
||||
|
||||
echo v0.1.2 > "${ALIAS_PATH}/test"
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
nvm unalias test
|
||||
|
||||
|
||||
@@ -2,12 +2,25 @@
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
BEFORE="./before.tmp"
|
||||
AFTER="./after.tmp"
|
||||
|
||||
. ../../nvm.sh
|
||||
cleanup () { rm -f "${BEFORE}" "${AFTER}"; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
typeset -f | awk '/ \(\) $/ && !/^main / {print $1}' > "${BEFORE}"
|
||||
|
||||
\. ../../nvm.sh
|
||||
|
||||
type nvm > /dev/null 2>&1 || die "nvm not loaded"
|
||||
|
||||
nvm unload
|
||||
|
||||
typeset -f | awk '/ \(\) $/ && !/^main / {print $1}' > "${AFTER}"
|
||||
|
||||
! type nvm > /dev/null 2>&1 || die "nvm not unloaded"
|
||||
|
||||
DIFF="$(diff "${BEFORE}" "${AFTER}" ||:)"
|
||||
[ -z "${DIFF}" ] || die "function pollution found: ${DIFF}"
|
||||
|
||||
cleanup
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
rm -rf "$(nvm_alias_path)/foo"
|
||||
}
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
nvm_make_alias foo foo
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
set -ex
|
||||
|
||||
. ../common.sh
|
||||
\. ../common.sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
VERSION="v3.99.0"
|
||||
|
||||
@@ -13,7 +13,7 @@ cleanup() {
|
||||
rm -rf "$(nvm_version_path "iojs-${VERSION}")"
|
||||
}
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
nvm deactivate || die "unable to deactivate; current: >$(nvm current)<"
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ set -ex
|
||||
cleanup() {
|
||||
unset -f nvm_has_system_node nvm_print_npm_version
|
||||
}
|
||||
die() { echo $@ ; cleanup ; exit 1; }
|
||||
die() { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
nvm_has_system_node() { return 0; }
|
||||
nvm_print_npm_version() { command printf ' (npm v1.2.3)'; }
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
set -ex
|
||||
|
||||
export NVM_SYMLINK_CURRENT=true
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
rm -rf "${NVM_DIR}/v0.10.29"
|
||||
mkdir "${NVM_DIR}/v0.10.29"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
set -ex
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
TEST_NODE_VERSION="v0.10.29"
|
||||
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
set -ex
|
||||
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
|
||||
nvm
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
set -ex
|
||||
|
||||
set -- yes
|
||||
. ../../nvm.sh
|
||||
\. ../../nvm.sh
|
||||
[ "$1" = yes ]
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
. ../../common.sh
|
||||
\. ../../../nvm.sh
|
||||
\. ../../common.sh
|
||||
|
||||
assert_not_ok iojs_version_has_solaris_binary ""
|
||||
assert_not_ok iojs_version_has_solaris_binary "foo"
|
||||
|
||||
@@ -1,50 +1,64 @@
|
||||
version date files npm v8 uv zlib openssl modules lts
|
||||
v6.2.2 2016-06-16 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.9.5 5.0.71.52 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.2.1 2016-06-02 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.9.3 5.0.71.52 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.2.0 2016-05-17 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.9 5.0.71.47 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.1.0 2016-05-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.6 5.0.71.35 1.9.0 1.2.8 1.0.2h 48 -
|
||||
v6.0.0 2016-04-26 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.6 5.0.71.35 1.9.0 1.2.8 1.0.2g 48 -
|
||||
v5.12.0 2016-06-23 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.6 4.6.85.32 1.8.0 1.2.8 1.0.2h 47 -
|
||||
v5.11.1 2016-05-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.6 4.6.85.31 1.8.0 1.2.8 1.0.2h 47 -
|
||||
v5.11.0 2016-04-21 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.6 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.10.1 2016-04-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.10.0 2016-04-01 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.8.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.9.1 2016-03-22 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.7.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.9.0 2016-03-16 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.7.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.8.0 2016-03-09 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.7.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.7.1 2016-03-02 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.6.0 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.7.0 2016-02-23 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.6.0 4.6.85.31 1.8.0 1.2.8 1.0.2f 47 -
|
||||
v5.6.0 2016-02-09 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.6.0 4.6.85.31 1.8.0 1.2.8 1.0.2f 47 -
|
||||
v5.5.0 2016-01-21 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.3.12 4.6.85.31 1.8.0 1.2.8 1.0.2e 47 -
|
||||
v5.4.1 2016-01-12 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.3.12 4.6.85.31 1.8.0 1.2.8 1.0.2e 47 -
|
||||
v5.4.0 2016-01-06 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.3.12 4.6.85.31 1.8.0 1.2.8 1.0.2e 47 -
|
||||
v5.3.0 2015-12-15 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.3.12 4.6.85.31 1.8.0 1.2.8 1.0.2e 47 -
|
||||
v5.2.0 2015-12-09 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.3.12 4.6.85.31 1.7.5 1.2.8 1.0.2e 47 -
|
||||
v5.1.1 2015-12-03 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.3.12 4.6.85.31 1.7.5 1.2.8 1.0.2e 47 -
|
||||
v5.1.0 2015-11-17 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.3.12 4.6.85.31 1.7.5 1.2.8 1.0.2d 47 -
|
||||
v5.0.0 2015-10-29 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 3.3.6 4.6.85.28 1.7.5 1.2.8 1.0.2d 47 -
|
||||
v4.4.7 2016-06-28 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.15.8 4.5.103.36 1.8.0 1.2.8 1.0.2h 46 Argon
|
||||
v4.4.6 2016-06-23 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.15.5 4.5.103.36 1.8.0 1.2.8 1.0.2h 46 Argon
|
||||
v4.4.5 2016-05-24 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.15.5 4.5.103.35 1.8.0 1.2.8 1.0.2h 46 Argon
|
||||
v4.4.4 2016-05-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.15.1 4.5.103.35 1.8.0 1.2.8 1.0.2h 46 Argon
|
||||
v4.4.3 2016-04-12 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.15.1 4.5.103.35 1.8.0 1.2.8 1.0.2g 46 Argon
|
||||
v4.4.2 2016-04-01 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.15.0 4.5.103.35 1.8.0 1.2.8 1.0.2g 46 Argon
|
||||
v4.4.1 2016-03-22 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.20 4.5.103.35 1.8.0 1.2.8 1.0.2g 46 Argon
|
||||
v4.4.0 2016-03-08 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.20 4.5.103.35 1.8.0 1.2.8 1.0.2g 46 Argon
|
||||
v4.3.2 2016-03-02 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.12 4.5.103.35 1.8.0 1.2.8 1.0.2g 46 Argon
|
||||
v4.3.1 2016-02-16 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.12 4.5.103.35 1.8.0 1.2.8 1.0.2f 46 Argon
|
||||
v4.3.0 2016-02-09 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.12 4.5.103.35 1.8.0 1.2.8 1.0.2f 46 Argon
|
||||
v4.2.6 2016-01-21 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.12 4.5.103.35 1.8.0 1.2.8 1.0.2e 46 Argon
|
||||
v4.2.5 2016-01-20 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.12 4.5.103.35 1.8.0 1.2.8 1.0.2e 46 Argon
|
||||
v4.2.4 2015-12-23 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.12 4.5.103.35 1.7.5 1.2.8 1.0.2e 46 Argon
|
||||
v4.2.3 2015-12-03 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.7 4.5.103.35 1.7.5 1.2.8 1.0.2e 46 Argon
|
||||
v4.2.2 2015-11-03 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.7 4.5.103.35 1.7.5 1.2.8 1.0.2d 46 Argon
|
||||
v4.2.1 2015-10-13 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.7 4.5.103.35 1.7.5 1.2.8 1.0.2d 46 Argon
|
||||
v4.2.0 2015-10-12 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.7 4.5.103.35 1.7.5 1.2.8 1.0.2d 46 Argon
|
||||
v4.1.2 2015-10-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.4 4.5.103.35 1.7.5 1.2.8 1.0.2d 46 -
|
||||
v4.1.1 2015-09-23 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.4 4.5.103.33 1.7.4 1.2.8 1.0.2d 46 -
|
||||
v4.1.0 2015-09-17 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.3 4.5.103.33 1.7.4 1.2.8 1.0.2d 46 -
|
||||
v4.0.0 2015-09-08 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-msi,win-x86-msi 2.14.2 4.5.103.30 1.7.3 1.2.8 1.0.2d 46 -
|
||||
v6.9.0 2016-10-18 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.10.8 5.1.281.84 1.9.1 1.2.8 1.0.2j 48 Boron
|
||||
v6.8.1 2016-10-14 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.10.8 5.1.281.84 1.9.1 1.2.8 1.0.2j 48 -
|
||||
v6.8.0 2016-10-12 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.10.8 5.1.281.84 1.9.1 1.2.8 1.0.2j 48 -
|
||||
v6.7.0 2016-09-27 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.10.3 5.1.281.83 1.9.1 1.2.8 1.0.2j 48 -
|
||||
v6.6.0 2016-09-14 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.10.3 5.1.281.83 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.5.0 2016-08-26 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.10.3 5.1.281.81 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.4.0 2016-08-12 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.10.3 5.0.71.60 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.3.1 2016-07-21 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.10.3 5.0.71.57 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.3.0 2016-07-06 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.10.3 5.0.71.52 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.2.2 2016-06-16 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.9.5 5.0.71.52 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.2.1 2016-06-02 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.9.3 5.0.71.52 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.2.0 2016-05-17 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.8.9 5.0.71.47 1.9.1 1.2.8 1.0.2h 48 -
|
||||
v6.1.0 2016-05-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.8.6 5.0.71.35 1.9.0 1.2.8 1.0.2h 48 -
|
||||
v6.0.0 2016-04-26 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.8.6 5.0.71.35 1.9.0 1.2.8 1.0.2g 48 -
|
||||
v5.12.0 2016-06-23 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.8.6 4.6.85.32 1.8.0 1.2.8 1.0.2h 47 -
|
||||
v5.11.1 2016-05-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.8.6 4.6.85.31 1.8.0 1.2.8 1.0.2h 47 -
|
||||
v5.11.0 2016-04-21 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.8.6 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.10.1 2016-04-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.8.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.10.0 2016-04-01 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.8.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.9.1 2016-03-22 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.7.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.9.0 2016-03-16 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.7.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.8.0 2016-03-09 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.7.3 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.7.1 2016-03-02 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.6.0 4.6.85.31 1.8.0 1.2.8 1.0.2g 47 -
|
||||
v5.7.0 2016-02-23 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.6.0 4.6.85.31 1.8.0 1.2.8 1.0.2f 47 -
|
||||
v5.6.0 2016-02-09 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.6.0 4.6.85.31 1.8.0 1.2.8 1.0.2f 47 -
|
||||
v5.5.0 2016-01-21 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.3.12 4.6.85.31 1.8.0 1.2.8 1.0.2e 47 -
|
||||
v5.4.1 2016-01-12 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.3.12 4.6.85.31 1.8.0 1.2.8 1.0.2e 47 -
|
||||
v5.4.0 2016-01-06 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.3.12 4.6.85.31 1.8.0 1.2.8 1.0.2e 47 -
|
||||
v5.3.0 2015-12-15 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.3.12 4.6.85.31 1.8.0 1.2.8 1.0.2e 47 -
|
||||
v5.2.0 2015-12-09 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.3.12 4.6.85.31 1.7.5 1.2.8 1.0.2e 47 -
|
||||
v5.1.1 2015-12-03 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.3.12 4.6.85.31 1.7.5 1.2.8 1.0.2e 47 -
|
||||
v5.1.0 2015-11-17 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.3.12 4.6.85.31 1.7.5 1.2.8 1.0.2d 47 -
|
||||
v5.0.0 2015-10-29 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 3.3.6 4.6.85.28 1.7.5 1.2.8 1.0.2d 47 -
|
||||
v4.6.1 2016-10-18 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.15.9 4.5.103.37 1.9.1 1.2.8 1.0.2j 46 Argon
|
||||
v4.6.0 2016-09-27 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.15.9 4.5.103.37 1.9.1 1.2.8 1.0.2j 46 Argon
|
||||
v4.5.0 2016-08-16 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.15.9 4.5.103.37 1.9.1 1.2.8 1.0.2h 46 Argon
|
||||
v4.4.7 2016-06-28 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.15.8 4.5.103.36 1.8.0 1.2.8 1.0.2h 46 Argon
|
||||
v4.4.6 2016-06-23 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.15.5 4.5.103.36 1.8.0 1.2.8 1.0.2h 46 Argon
|
||||
v4.4.5 2016-05-24 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.15.5 4.5.103.35 1.8.0 1.2.8 1.0.2h 46 Argon
|
||||
v4.4.4 2016-05-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.15.1 4.5.103.35 1.8.0 1.2.8 1.0.2h 46 Argon
|
||||
v4.4.3 2016-04-12 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.15.1 4.5.103.35 1.8.0 1.2.8 1.0.2g 46 Argon
|
||||
v4.4.2 2016-04-01 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.15.0 4.5.103.35 1.8.0 1.2.8 1.0.2g 46 Argon
|
||||
v4.4.1 2016-03-22 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.20 4.5.103.35 1.8.0 1.2.8 1.0.2g 46 Argon
|
||||
v4.4.0 2016-03-08 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.20 4.5.103.35 1.8.0 1.2.8 1.0.2g 46 Argon
|
||||
v4.3.2 2016-03-02 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.12 4.5.103.35 1.8.0 1.2.8 1.0.2g 46 Argon
|
||||
v4.3.1 2016-02-16 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.12 4.5.103.35 1.8.0 1.2.8 1.0.2f 46 Argon
|
||||
v4.3.0 2016-02-09 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.12 4.5.103.35 1.8.0 1.2.8 1.0.2f 46 Argon
|
||||
v4.2.6 2016-01-21 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.12 4.5.103.35 1.8.0 1.2.8 1.0.2e 46 Argon
|
||||
v4.2.5 2016-01-20 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.12 4.5.103.35 1.8.0 1.2.8 1.0.2e 46 Argon
|
||||
v4.2.4 2015-12-23 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.12 4.5.103.35 1.7.5 1.2.8 1.0.2e 46 Argon
|
||||
v4.2.3 2015-12-03 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.7 4.5.103.35 1.7.5 1.2.8 1.0.2e 46 Argon
|
||||
v4.2.2 2015-11-03 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.7 4.5.103.35 1.7.5 1.2.8 1.0.2d 46 Argon
|
||||
v4.2.1 2015-10-13 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.7 4.5.103.35 1.7.5 1.2.8 1.0.2d 46 Argon
|
||||
v4.2.0 2015-10-12 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.7 4.5.103.35 1.7.5 1.2.8 1.0.2d 46 Argon
|
||||
v4.1.2 2015-10-05 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.4 4.5.103.35 1.7.5 1.2.8 1.0.2d 46 -
|
||||
v4.1.1 2015-09-23 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.4 4.5.103.33 1.7.4 1.2.8 1.0.2d 46 -
|
||||
v4.1.0 2015-09-17 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.3 4.5.103.33 1.7.4 1.2.8 1.0.2d 46 -
|
||||
v4.0.0 2015-09-08 headers,linux-arm64,linux-armv6l,linux-armv7l,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi 2.14.2 4.5.103.30 1.7.3 1.2.8 1.0.2d 46 -
|
||||
v0.12.17 2016-10-18 headers,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 2.15.1 3.28.71.19 1.6.1 1.2.8 1.0.1u 14 -
|
||||
v0.12.16 2016-09-27 headers,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 2.15.1 3.28.71.19 1.6.1 1.2.8 1.0.1u 14 -
|
||||
v0.12.15 2016-06-23 headers,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 2.15.1 3.28.71.19 1.6.1 1.2.8 1.0.1t 14 -
|
||||
v0.12.14 2016-05-06 headers,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 2.15.1 3.28.71.19 1.6.1 1.2.8 1.0.1t 14 -
|
||||
v0.12.13 2016-03-31 headers,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 2.15.0 3.28.71.19 1.6.1 1.2.8 1.0.1s 14 -
|
||||
@@ -78,6 +92,8 @@ v0.11.3 2013-06-26 linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,s
|
||||
v0.11.2 2013-05-13 linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 1.2.21 3.19.0.0 0.11.2 1.2.3 1.0.1e 0x000C -
|
||||
v0.11.1 2013-04-19 linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 1.2.18 3.18.0.0 0.11.1 1.2.3 1.0.1e 0x000C -
|
||||
v0.11.0 2013-03-28 linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 1.2.15 3.17.13.0 0.10.3 1.2.3 1.0.1e 0x000C -
|
||||
v0.10.48 2016-10-18 headers,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 2.15.1 3.14.5.11 0.10.37 1.2.8 1.0.1u 11 -
|
||||
v0.10.47 2016-09-27 headers,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 2.15.1 3.14.5.11 0.10.37 1.2.8 1.0.1u 11 -
|
||||
v0.10.46 2016-06-23 headers,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 2.15.1 3.14.5.9 0.10.37 1.2.8 1.0.1t 11 -
|
||||
v0.10.45 2016-05-06 headers,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 2.15.1 3.14.5.9 0.10.36 1.2.8 1.0.1t 11 -
|
||||
v0.10.44 2016-03-31 headers,linux-x64,linux-x86,osx-x64-pkg,osx-x64-tar,osx-x86-tar,src,sunos-x64,sunos-x86,win-x64-exe,win-x86-exe,win-x86-msi 2.15.0 3.14.5.9 0.10.36 1.2.8 1.0.1s 11 -
|
||||
|
||||
@@ -15,4 +15,8 @@
|
||||
v4.4.4 [0;37m (LTS: Argon)[0m
|
||||
v4.4.5 [0;37m (LTS: Argon)[0m
|
||||
v4.4.6 [0;37m (LTS: Argon)[0m
|
||||
v4.4.7 [1;32m (Latest LTS: Argon)[0m
|
||||
v4.4.7 [0;37m (LTS: Argon)[0m
|
||||
v4.5.0 [0;37m (LTS: Argon)[0m
|
||||
v4.6.0 [0;37m (LTS: Argon)[0m
|
||||
v4.6.1 [1;32m (Latest LTS: Argon)[0m
|
||||
v6.9.0 [1;32m (Latest LTS: Boron)[0m
|
||||
|
||||
@@ -197,6 +197,8 @@
|
||||
v0.10.44
|
||||
v0.10.45
|
||||
v0.10.46
|
||||
v0.10.47
|
||||
v0.10.48
|
||||
v0.11.0
|
||||
v0.11.1
|
||||
v0.11.2
|
||||
@@ -230,6 +232,8 @@
|
||||
v0.12.13
|
||||
v0.12.14
|
||||
v0.12.15
|
||||
v0.12.16
|
||||
v0.12.17
|
||||
v4.0.0
|
||||
v4.1.0
|
||||
v4.1.1
|
||||
@@ -251,7 +255,10 @@
|
||||
v4.4.4 [0;37m (LTS: Argon)[0m
|
||||
v4.4.5 [0;37m (LTS: Argon)[0m
|
||||
v4.4.6 [0;37m (LTS: Argon)[0m
|
||||
v4.4.7 [1;32m (Latest LTS: Argon)[0m
|
||||
v4.4.7 [0;37m (LTS: Argon)[0m
|
||||
v4.5.0 [0;37m (LTS: Argon)[0m
|
||||
v4.6.0 [0;37m (LTS: Argon)[0m
|
||||
v4.6.1 [1;32m (Latest LTS: Argon)[0m
|
||||
v5.0.0
|
||||
v5.1.0
|
||||
v5.1.1
|
||||
@@ -276,3 +283,12 @@
|
||||
v6.2.0
|
||||
v6.2.1
|
||||
v6.2.2
|
||||
v6.3.0
|
||||
v6.3.1
|
||||
v6.4.0
|
||||
v6.5.0
|
||||
v6.6.0
|
||||
v6.7.0
|
||||
v6.8.0
|
||||
v6.8.1
|
||||
v6.9.0 [1;32m (Latest LTS: Boron)[0m
|
||||
|
||||
@@ -197,6 +197,8 @@
|
||||
v0.10.44
|
||||
v0.10.45
|
||||
v0.10.46
|
||||
v0.10.47
|
||||
v0.10.48
|
||||
v0.11.0
|
||||
v0.11.1
|
||||
v0.11.2
|
||||
@@ -230,6 +232,8 @@
|
||||
v0.12.13
|
||||
v0.12.14
|
||||
v0.12.15
|
||||
v0.12.16
|
||||
v0.12.17
|
||||
iojs-v1.0.0
|
||||
iojs-v1.0.1
|
||||
iojs-v1.0.2
|
||||
@@ -292,7 +296,10 @@
|
||||
v4.4.4 [0;37m (LTS: Argon)[0m
|
||||
v4.4.5 [0;37m (LTS: Argon)[0m
|
||||
v4.4.6 [0;37m (LTS: Argon)[0m
|
||||
v4.4.7 [1;32m (Latest LTS: Argon)[0m
|
||||
v4.4.7 [0;37m (LTS: Argon)[0m
|
||||
v4.5.0 [0;37m (LTS: Argon)[0m
|
||||
v4.6.0 [0;37m (LTS: Argon)[0m
|
||||
v4.6.1 [1;32m (Latest LTS: Argon)[0m
|
||||
v5.0.0
|
||||
v5.1.0
|
||||
v5.1.1
|
||||
@@ -317,3 +324,12 @@
|
||||
v6.2.0
|
||||
v6.2.1
|
||||
v6.2.2
|
||||
v6.3.0
|
||||
v6.3.1
|
||||
v6.4.0
|
||||
v6.5.0
|
||||
v6.6.0
|
||||
v6.7.0
|
||||
v6.8.0
|
||||
v6.8.1
|
||||
v6.9.0 [1;32m (Latest LTS: Boron)[0m
|
||||
|
||||
@@ -16,3 +16,6 @@ v4.4.4 Argon
|
||||
v4.4.5 Argon
|
||||
v4.4.6 Argon
|
||||
v4.4.7 Argon
|
||||
v4.5.0 Argon
|
||||
v4.6.0 Argon
|
||||
v4.6.1 Argon
|
||||
|
||||
@@ -16,3 +16,7 @@ v4.4.4 Argon
|
||||
v4.4.5 Argon
|
||||
v4.4.6 Argon
|
||||
v4.4.7 Argon
|
||||
v4.5.0 Argon
|
||||
v4.6.0 Argon
|
||||
v4.6.1 Argon
|
||||
v6.9.0 Boron
|
||||
|
||||
1
test/fast/Unit tests/mocks/nvm_ls_remote stable.txt
Normal file
1
test/fast/Unit tests/mocks/nvm_ls_remote stable.txt
Normal file
@@ -0,0 +1 @@
|
||||
v6.9.0 Boron
|
||||
@@ -197,6 +197,8 @@ v0.10.43
|
||||
v0.10.44
|
||||
v0.10.45
|
||||
v0.10.46
|
||||
v0.10.47
|
||||
v0.10.48
|
||||
v0.11.0
|
||||
v0.11.1
|
||||
v0.11.2
|
||||
@@ -230,6 +232,8 @@ v0.12.12
|
||||
v0.12.13
|
||||
v0.12.14
|
||||
v0.12.15
|
||||
v0.12.16
|
||||
v0.12.17
|
||||
v4.0.0
|
||||
v4.1.0
|
||||
v4.1.1
|
||||
@@ -252,6 +256,9 @@ v4.4.4 Argon
|
||||
v4.4.5 Argon
|
||||
v4.4.6 Argon
|
||||
v4.4.7 Argon
|
||||
v4.5.0 Argon
|
||||
v4.6.0 Argon
|
||||
v4.6.1 Argon
|
||||
v5.0.0
|
||||
v5.1.0
|
||||
v5.1.1
|
||||
@@ -276,3 +283,12 @@ v6.1.0
|
||||
v6.2.0
|
||||
v6.2.1
|
||||
v6.2.2
|
||||
v6.3.0
|
||||
v6.3.1
|
||||
v6.4.0
|
||||
v6.5.0
|
||||
v6.6.0
|
||||
v6.7.0
|
||||
v6.8.0
|
||||
v6.8.1
|
||||
v6.9.0 Boron
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
lts/argon|v4.4.7
|
||||
lts/*|lts/argon
|
||||
lts/*|lts/boron
|
||||
lts/boron|v6.9.0
|
||||
lts/argon|v4.6.1
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
6.9
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
. ../../common.sh
|
||||
\. ../../../nvm.sh
|
||||
\. ../../common.sh
|
||||
|
||||
# Invalid version numbers fail
|
||||
assert_not_ok node_version_has_solaris_binary ""
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset -f nvm_download nvm_ls_remote nvm_ls_remote_iojs
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
nvm deactivate 2>/dev/null || die 'unable to deactivate'
|
||||
|
||||
. ../../common.sh
|
||||
\. ../../common.sh
|
||||
|
||||
REMOTE="$PWD/mocks/nvm_ls_remote.txt"
|
||||
nvm_ls_remote() {
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset -f nvm_remote_version
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
. ../../common.sh
|
||||
\. ../../common.sh
|
||||
|
||||
nvm_remote_version() {
|
||||
echo "NVM_VERSION_ONLY:${NVM_VERSION_ONLY-},NVM_LTS:${NVM_LTS-},PATTERN:${PATTERN-}"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
[ "_$(nvm_add_iojs_prefix 1)" = "_iojs-v1" ] || die '"nvm_add_iojs_prefix 1" did not return "iojs-v1"'
|
||||
[ "_$(nvm_add_iojs_prefix iojs-1)" = "_iojs-v1" ] || die '"nvm_add_iojs_prefix iojs-1" did not return "iojs-v1"'
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
cleanup () {
|
||||
rm -rf ../../../alias/test
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
OUTPUT="$(nvm_alias 2>&1)"
|
||||
EXPECTED_OUTPUT='An alias is required.'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
[ "_$(nvm_alias_path)" = "_$NVM_DIR/alias" ] || die "nvm_alias_path did not requrn correct location"
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@ cleanup () {
|
||||
rm tmp/emptyfile tmp/testfile
|
||||
rmdir tmp
|
||||
}
|
||||
die () { echo $@ ; cleanup; exit 1; }
|
||||
die () { echo "$@" ; cleanup; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir -p tmp
|
||||
touch tmp/emptyfile
|
||||
|
||||
62
test/fast/Unit tests/nvm_clang_version
Executable file
62
test/fast/Unit tests/nvm_clang_version
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
|
||||
cleanup () {
|
||||
unset -f die
|
||||
}
|
||||
|
||||
die () { echo -e "$@" ; cleanup ; exit 1; }
|
||||
|
||||
if type "clang" > /dev/null 2>&1 ; then
|
||||
clang_exec="$(type "clang")"
|
||||
sudo rm -rf "${clang_exec}"
|
||||
fi
|
||||
if type "clang++" > /dev/null 2>&1 ; then
|
||||
clangxx_exec="$(type "clang++")"
|
||||
sudo rm -rf "${clangxx_exec}"
|
||||
fi
|
||||
|
||||
NVM_ENV=testing \. ../../../nvm.sh
|
||||
|
||||
clang() {
|
||||
if [ "$1" = "--version" ]; then
|
||||
echo "${VERSION_MESSAGE}"
|
||||
fi
|
||||
}
|
||||
|
||||
assert_version_is() {
|
||||
if [ "${1}" != "${2}" ]; then
|
||||
die "Expected ${2}, got ${1}, origin version message:\n${VERSION_MESSAGE}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
CLANG_VERSION_ON_DEBIAN_JESSIE="Debian clang version 3.5.0-10 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
|
||||
Target: x86_64-pc-linux-gnu
|
||||
Thread model: posix"
|
||||
|
||||
CLANG_VERSION_ON_UBUNTU_TRUSTY="Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4)
|
||||
Target: x86_64-pc-linux-gnu
|
||||
Thread model: posix"
|
||||
|
||||
CLANG_VERSION_ON_ARCHLINUX="clang version 3.9.0 (tags/RELEASE_390/final)
|
||||
Target: x86_64-unknown-linux-gnu
|
||||
Thread model: posix
|
||||
InstalledDir: /usr/sbin"
|
||||
|
||||
CLANG_VERSION_ON_FREEBSD="FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
|
||||
Target: x86_64-unknown-freebsd10.3
|
||||
Thread model: posix"
|
||||
|
||||
VERSION_MESSAGE="${CLANG_VERSION_ON_DEBIAN_JESSIE}"
|
||||
assert_version_is "$(nvm_clang_version)" "3.5.0"
|
||||
|
||||
VERSION_MESSAGE="${CLANG_VERSION_ON_UBUNTU_TRUSTY}"
|
||||
assert_version_is "$(nvm_clang_version)" "3.4"
|
||||
|
||||
VERSION_MESSAGE="${CLANG_VERSION_ON_ARCHLINUX}"
|
||||
assert_version_is "$(nvm_clang_version)" "3.9.0"
|
||||
|
||||
VERSION_MESSAGE="${CLANG_VERSION_ON_FREEBSD}"
|
||||
assert_version_is "$(nvm_clang_version)" "3.4.1"
|
||||
|
||||
cleanup
|
||||
@@ -3,9 +3,9 @@
|
||||
cleanup () {
|
||||
unset -f nvm_compute_checksum
|
||||
}
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
set -ex
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
set +x
|
||||
OUTPUT="$(nvm_compute_checksum 2>&1 >/dev/null || echo)"
|
||||
|
||||
@@ -5,9 +5,9 @@ cleanup () {
|
||||
alias npm='\npm'
|
||||
unset -f nvm_has npm
|
||||
}
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
OUTPUT="$(nvm_die_on_prefix 2>&1)"
|
||||
EXPECTED_OUTPUT="First argument \"delete the prefix\" must be zero or one"
|
||||
@@ -36,7 +36,7 @@ nvm_has() { return 0; }
|
||||
npm() {
|
||||
local args
|
||||
args="$@"
|
||||
if [ "_$args" = "_config get prefix" ]; then
|
||||
if [ "_$args" = "_config --loglevel=warn get prefix" ]; then
|
||||
echo "$(nvm_version_dir new)/good prefix"
|
||||
fi
|
||||
}
|
||||
@@ -60,7 +60,7 @@ EXIT_CODE="$(NPM_CONFIG_PREFIX=bar nvm_die_on_prefix 0 foo >/dev/null 2>&1; echo
|
||||
npm() {
|
||||
local args
|
||||
args="$@"
|
||||
if [ "_$args" = "_config get prefix" ]; then
|
||||
if [ "_$args" = "_config --loglevel=warn get prefix" ]; then
|
||||
echo "./bad prefix"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../common.sh
|
||||
\. ../../common.sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
EXPECTED_OUTPUT="nvm_ensure_default_set: a version is required"
|
||||
OUTPUT="$(nvm_ensure_default_set 2>&1 >/dev/null)"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
cleanup () {
|
||||
rm -rf "$(nvm_version_path v0.1.2)"
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir -p "$(nvm_version_path v0.1.2)"
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
[ "_$(nvm_ensure_version_prefix 1)" = "_v1" ] || die '"nvm_ensure_version_prefix 1" did not return "v1"'
|
||||
[ "_$(nvm_ensure_version_prefix v1)" = "_v1" ] || die '"nvm_ensure_version_prefix v1" did not return "v1"'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
setup() {
|
||||
cleanup
|
||||
mkdir -p tmp_nvm_find_up/a/b/c/d
|
||||
@@ -11,7 +11,7 @@ cleanup () {
|
||||
rm -rf tmp_nvm_find_up
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
setup
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
INPUT="0.1.2"
|
||||
OUTPUT="$(nvm_format_version "$INPUT")"
|
||||
|
||||
@@ -9,9 +9,9 @@ cleanup() {
|
||||
export PATH=ORIG_PATH
|
||||
}
|
||||
|
||||
die () { cleanup; echo $@ ; exit 1; }
|
||||
die () { cleanup; echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
# Directory where mocked binaries used by nvm_get_arch for each OS/arch are
|
||||
# located
|
||||
|
||||
@@ -5,10 +5,10 @@ set -ex
|
||||
cleanup () {
|
||||
unset -f nvm_download nvm_get_checksum_alg nvm_get_mirror
|
||||
}
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
set +e # TODO: fix
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
set -e
|
||||
|
||||
nvm_get_mirror() {
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
ALG="$(nvm_get_checksum_alg)"
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset -f nvm_has
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
nvm_has() { return 1 ; }
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
expect () {
|
||||
INPUT="$1"
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
! nvm_get_mirror || die 'unknown release type did not error'
|
||||
! nvm_get_mirror node || die 'unknown release type did not error'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
nvm_has cat && type cat > /dev/null || die 'nvm_has locates "cat" properly'
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
. ../../common.sh
|
||||
\. ../../../nvm.sh
|
||||
\. ../../common.sh
|
||||
|
||||
# Invalid version numbers fail
|
||||
assert_not_ok nvm_has_solaris_binary ""
|
||||
|
||||
@@ -5,9 +5,9 @@ cleanup () {
|
||||
rm "${NVM_DIR}/versions/io.js/v0.1.2/iojs"
|
||||
rmdir "${NVM_DIR}/versions/io.js/v0.1.2"
|
||||
}
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
mkdir "${NVM_DIR}/versions/io.js/v0.1.2"
|
||||
touch "${NVM_DIR}/versions/io.js/v0.1.2/node"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
cleanup () {
|
||||
rm -rf "${NVM_DIR}/v0.1.2/node"
|
||||
}
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
mkdir "${NVM_DIR}/v0.1.2"
|
||||
touch "${NVM_DIR}/v0.1.2/node"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
[ "$(nvm_iojs_prefix)" = "iojs" ] || die '"nvm_iojs_prefix" did not return the string "iojs". why did this fail?!'
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
cleanup () { unalias foo; unalias grep; }
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
alias foo='bar'
|
||||
nvm_is_alias foo || die '"nvm_is_alias foo" was not true'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
nvm_is_iojs_version 'iojs-' || die '"nvm_is_iojs_version iojs- was not true'
|
||||
nvm_is_iojs_version 'iojs-foo' || die '"nvm_is_iojs_version iojs- was not true'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
nvm_is_merged_node_version '4.0' || die '"nvm_is_merged_node_version 4.0 was not true'
|
||||
nvm_is_merged_node_version '5.1' || die '"nvm_is_merged_node_version 5.1 was not true'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
! nvm_is_natural_num || die 'no args is not false'
|
||||
! nvm_is_natural_num '' || die 'empty string is not false'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../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"
|
||||
|
||||
@@ -4,9 +4,9 @@ TEST_PWD=$(pwd)
|
||||
TEST_DIR="$TEST_PWD/nvm_ls_current_tmp"
|
||||
|
||||
cleanup() { rm -rf "$TEST_DIR"; unset -f return_zero; alias node='node' ; unalias node; }
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
return_zero () { return 0; }
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset -f nvm_download
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
MOCKS_DIR="$PWD/mocks"
|
||||
|
||||
@@ -42,7 +42,8 @@ v0.3.8"
|
||||
|
||||
# Sanity checks
|
||||
OUTPUT="$(nvm_print_implicit_alias remote stable)"
|
||||
EXPECTED_OUTPUT="6.2"
|
||||
EXPECTED_OUTPUT_PATH="${MOCKS_DIR}/nvm_print_implicit_alias remote stable.txt"
|
||||
EXPECTED_OUTPUT="$(cat "${EXPECTED_OUTPUT_PATH}")"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_print_implicit_alias remote stable did not output $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
OUTPUT="$(nvm_print_implicit_alias remote unstable)"
|
||||
@@ -50,7 +51,8 @@ EXPECTED_OUTPUT="0.11"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_print_implicit_alias remote unstable did not output $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
OUTPUT="$(nvm_ls_remote stable)"
|
||||
EXPECTED_OUTPUT="v6.2.2"
|
||||
EXPECTED_OUTPUT_PATH="${MOCKS_DIR}/nvm_ls_remote stable.txt"
|
||||
EXPECTED_OUTPUT="$(cat "${EXPECTED_OUTPUT_PATH}")"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_ls_remote stable did not output $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
OUTPUT="$(nvm_ls_remote unstable)"
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
TEST_PATH="$PWD/test_output"
|
||||
mkdir -p "$TEST_PATH"
|
||||
@@ -16,7 +14,7 @@ cleanup() {
|
||||
rm -rf "$TEST_PATH"
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
set -ex
|
||||
|
||||
@@ -39,7 +37,7 @@ nvm_ls_remote >/dev/null || die "nvm_ls_remote_failed?!"
|
||||
|
||||
CALL_COUNT="$(cat "$CALL_COUNT_PATH")"
|
||||
|
||||
EXPECTED_COUNT=2
|
||||
EXPECTED_COUNT=3
|
||||
[ "$CALL_COUNT" = "$EXPECTED_COUNT" ] || die "nvm_make_alias called $CALL_COUNT times; expected $EXPECTED_COUNT"
|
||||
|
||||
ARGS="$(cat "$ALIAS_ARGS_PATH")"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset -f nvm_download
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
\. ../../../nvm.sh
|
||||
|
||||
# sample output at the time the test was written
|
||||
TAB_PATH="$PWD/mocks/iojs.org-dist-index.tab"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user