Compare commits
59 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 |
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>
|
||||||
12
.travis.yml
12
.travis.yml
@@ -7,29 +7,33 @@ addons:
|
|||||||
packages:
|
packages:
|
||||||
- gcc-4.8
|
- gcc-4.8
|
||||||
- g++-4.8
|
- g++-4.8
|
||||||
|
- cabal-install
|
||||||
|
- ghc
|
||||||
- zsh
|
- zsh
|
||||||
- ksh
|
- ksh
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- $HOME/.stack
|
- $HOME/.ghc
|
||||||
|
- $HOME/.cabal
|
||||||
- $TRAVIS_BUILD_DIR/.cache
|
- $TRAVIS_BUILD_DIR/.cache
|
||||||
before_install:
|
before_install:
|
||||||
- $SHELL --version 2> /dev/null || dpkg -s $SHELL 2> /dev/null || which $SHELL
|
- $SHELL --version 2> /dev/null || dpkg -s $SHELL 2> /dev/null || which $SHELL
|
||||||
- curl --version
|
- curl --version
|
||||||
- wget --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:
|
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*)
|
- (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
|
- chmod +x /tmp/urchin/package/urchin
|
||||||
- '[ -z "$WITHOUT_CURL" ] || sudo apt-get remove curl -y'
|
- '[ -z "$WITHOUT_CURL" ] || sudo apt-get remove curl -y'
|
||||||
script:
|
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
|
- if [ -z "${SHELLCHECK-}" ]; then make TEST_SUITE=$TEST_SUITE URCHIN=/tmp/urchin/package/urchin test-$SHELL ; fi
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- CXX=g++-4.8
|
- CXX=g++-4.8
|
||||||
- CC=gcc-4.8
|
- CC=gcc-4.8
|
||||||
- PATH=$(echo $PATH | sed 's/::/:/')
|
- PATH="~/.cabal/bin/:$(echo $PATH | sed 's/::/:/')"
|
||||||
- NVM_DIR="${TRAVIS_BUILD_DIR}"
|
- NVM_DIR="${TRAVIS_BUILD_DIR}"
|
||||||
matrix:
|
matrix:
|
||||||
- SHELLCHECK=true
|
- 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; }; \
|
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) && \
|
replace "$$old_ver" "$$new_ver" -- $(VERSIONED_FILES) && \
|
||||||
git commit -m "v$$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,4 +1,4 @@
|
|||||||
# Node Version Manager [][3]
|
# Node Version Manager [][3] [][4]
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
@@ -27,47 +27,47 @@
|
|||||||
|
|
||||||
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)
|
- [nvm-windows](https://github.com/coreybutler/nvm-windows)
|
||||||
- [nodist](https://github.com/marcelklehr/nodist)
|
- [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
|
- [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
|
- [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
|
||||||
- [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
|
- [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 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:
|
**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)
|
- [[#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)
|
- [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/)
|
- [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`
|
- 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)
|
- 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/*`
|
- 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.
|
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.
|
**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
|
### Install script
|
||||||
|
|
||||||
To install or update nvm, you can use the [install script][2] using cURL:
|
To install or update nvm, you can use the [install script][2] using cURL:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
|
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
or Wget:
|
or Wget:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/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>
|
<sub>The script clones the nvm repository to `~/.nvm` and adds the source line to your profile (`~/.bash_profile`, `~/.zshrc`, `~/.profile`, or `~/.bashrc`).</sub>
|
||||||
@@ -82,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>
|
<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:
|
If the above doesn't fix the problem, open your `.bash_profile` and add the following line of code:
|
||||||
|
|
||||||
@@ -323,7 +323,7 @@ load-nvmrc() {
|
|||||||
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
|
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
|
||||||
|
|
||||||
if [ "$nvmrc_node_version" != "N/A" ] && [ "$nvmrc_node_version" != "$node_version" ]; then
|
if [ "$nvmrc_node_version" != "N/A" ] && [ "$nvmrc_node_version" != "$node_version" ]; then
|
||||||
nvm use
|
nvm install
|
||||||
fi
|
fi
|
||||||
elif [ "$node_version" != "$(nvm version default)" ]; then
|
elif [ "$node_version" != "$(nvm version default)" ]; then
|
||||||
echo "Reverting to nvm default version"
|
echo "Reverting to nvm default version"
|
||||||
@@ -374,7 +374,7 @@ Nota bene: Avoid running nvm while the tests are running.
|
|||||||
To activate, you need to source `bash_completion`:
|
To activate, you need to source `bash_completion`:
|
||||||
|
|
||||||
```sh
|
```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`).
|
Put the above sourcing line just below the sourcing line for nvm in your profile (`.bashrc`, `.bash_profile`).
|
||||||
@@ -383,28 +383,28 @@ Put the above sourcing line just below the sourcing line for nvm in your profile
|
|||||||
|
|
||||||
nvm:
|
nvm:
|
||||||
|
|
||||||
$ nvm [tab][tab]
|
$ nvm [tab][tab]
|
||||||
alias deactivate install ls run unload
|
alias deactivate install ls run unload
|
||||||
clear-cache exec list ls-remote unalias use
|
clear-cache exec list ls-remote unalias use
|
||||||
current help list-remote reinstall-packages uninstall version
|
current help list-remote reinstall-packages uninstall version
|
||||||
|
|
||||||
nvm alias:
|
nvm alias:
|
||||||
|
|
||||||
$ nvm alias [tab][tab]
|
$ nvm alias [tab][tab]
|
||||||
default
|
default
|
||||||
|
|
||||||
$ nvm alias my_alias [tab][tab]
|
$ nvm alias my_alias [tab][tab]
|
||||||
v0.6.21 v0.8.26 v0.10.28
|
v0.6.21 v0.8.26 v0.10.28
|
||||||
|
|
||||||
nvm use:
|
nvm use:
|
||||||
|
|
||||||
$ nvm use [tab][tab]
|
$ nvm use [tab][tab]
|
||||||
my_alias default v0.6.21 v0.8.26 v0.10.28
|
my_alias default v0.6.21 v0.8.26 v0.10.28
|
||||||
|
|
||||||
nvm uninstall:
|
nvm uninstall:
|
||||||
|
|
||||||
$ nvm uninstall [tab][tab]
|
$ nvm uninstall [tab][tab]
|
||||||
my_alias default v0.6.21 v0.8.26 v0.10.28
|
my_alias default v0.6.21 v0.8.26 v0.10.28
|
||||||
|
|
||||||
## Compatibility Issues
|
## Compatibility Issues
|
||||||
`nvm` will encounter some issues if you have some non-default settings set. (see [#606](/../../issues/606))
|
`nvm` will encounter some issues if you have some non-default settings set. (see [#606](/../../issues/606))
|
||||||
@@ -429,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.
|
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:
|
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
|
```sh
|
||||||
apk add bash
|
apk add -U curl bash ca-certificates openssl ncurses coreutils python2 make gcc g++ libgcc linux-headers
|
||||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | /bin/bash
|
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.
|
The Node project has some desire but no concrete plans (due to the overheads of building, testing and support) to offer Alpine-compatible binaries.
|
||||||
@@ -466,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))
|
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
|
[1]: https://github.com/creationix/nvm.git
|
||||||
[2]: https://github.com/creationix/nvm/blob/v0.32.1/install.sh
|
[2]: https://github.com/creationix/nvm/blob/v0.33.0/install.sh
|
||||||
[3]: https://travis-ci.org/creationix/nvm
|
[3]: https://travis-ci.org/creationix/nvm
|
||||||
|
[4]: https://github.com/creationix/nvm/releases/tag/v0.33.0
|
||||||
[Urchin]: https://github.com/scraperwiki/urchin
|
[Urchin]: https://github.com/scraperwiki/urchin
|
||||||
[Fish]: http://fishshell.com
|
[Fish]: http://fishshell.com
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ __nvm_commands ()
|
|||||||
|
|
||||||
current_word="${COMP_WORDS[COMP_CWORD]}"
|
current_word="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
|
||||||
COMMANDS='\
|
COMMANDS='
|
||||||
help install uninstall use run exec \
|
help install uninstall use run exec
|
||||||
alias unalias reinstall-packages \
|
alias unalias reinstall-packages
|
||||||
current list ls list-remote ls-remote \
|
current list ls list-remote ls-remote
|
||||||
clear-cache deactivate unload \
|
clear-cache deactivate unload
|
||||||
version which'
|
version which'
|
||||||
|
|
||||||
if [ ${#COMP_WORDS[@]} == 4 ]; then
|
if [ ${#COMP_WORDS[@]} == 4 ]; then
|
||||||
@@ -56,8 +56,8 @@ __nvm_aliases ()
|
|||||||
{
|
{
|
||||||
declare aliases
|
declare aliases
|
||||||
aliases=""
|
aliases=""
|
||||||
if [ -d $NVM_DIR/alias ]; then
|
if [ -d "$NVM_DIR/alias" ]; then
|
||||||
aliases="$(cd $NVM_DIR/alias && find $PWD -type f | sed "s:$PWD/::")"
|
aliases="$(cd "$NVM_DIR/alias" && command find "$PWD" -type f | command sed "s:$PWD/::")"
|
||||||
fi
|
fi
|
||||||
echo "${aliases} node stable unstable iojs"
|
echo "${aliases} node stable unstable iojs"
|
||||||
}
|
}
|
||||||
@@ -85,7 +85,7 @@ __nvm ()
|
|||||||
# called bashcompinit that will create a complete in ZSH. If the user is in
|
# called bashcompinit that will create a complete in ZSH. If the user is in
|
||||||
# ZSH, load and run bashcompinit before calling the complete function.
|
# ZSH, load and run bashcompinit before calling the complete function.
|
||||||
if [[ -n ${ZSH_VERSION-} ]]; then
|
if [[ -n ${ZSH_VERSION-} ]]; then
|
||||||
autoload -U +X bashcompinit && bashcompinit
|
autoload -U +X bashcompinit && bashcompinit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
complete -o default -o nospace -F __nvm nvm
|
complete -o default -o nospace -F __nvm nvm
|
||||||
|
|||||||
66
install.sh
66
install.sh
@@ -11,7 +11,7 @@ nvm_install_dir() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nvm_latest_version() {
|
nvm_latest_version() {
|
||||||
echo "v0.32.1"
|
echo "v0.33.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -240,23 +240,24 @@ nvm_check_global_modules() {
|
|||||||
)"
|
)"
|
||||||
|
|
||||||
if [ "${MODULE_COUNT}" != '0' ]; then
|
if [ "${MODULE_COUNT}" != '0' ]; then
|
||||||
cat <<-'END_MESSAGE'
|
# shellcheck disable=SC2016
|
||||||
=> You currently have modules installed globally with `npm`. These will no
|
echo '=> 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
|
# shellcheck disable=SC2016
|
||||||
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
|
echo '=> longer be linked to the active version of Node when you install a new node'
|
||||||
=> override the binaries of modules installed with `nvm`:
|
# 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"
|
command printf %s\\n "$NPM_GLOBAL_MODULES"
|
||||||
cat <<-'END_MESSAGE'
|
echo '=> If you wish to uninstall them at a later point (or re-install them under your'
|
||||||
|
# shellcheck disable=SC2016
|
||||||
=> If you wish to uninstall them at a later point (or re-install them under your
|
echo '=> `nvm` Nodes), you can remove them from the system Node as follows:'
|
||||||
=> `nvm` Nodes), you can remove them from the system Node as follows:
|
echo
|
||||||
|
echo ' $ nvm use system'
|
||||||
$ nvm use system
|
echo ' $ npm uninstall -g a_module'
|
||||||
$ npm uninstall -g a_module
|
echo
|
||||||
|
|
||||||
END_MESSAGE
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -292,7 +293,9 @@ nvm_do_install() {
|
|||||||
local INSTALL_DIR
|
local INSTALL_DIR
|
||||||
INSTALL_DIR="$(nvm_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
|
if [ -z "${NVM_PROFILE-}" ] ; then
|
||||||
echo "=> Profile not found. Tried ${NVM_PROFILE} (as defined in \$PROFILE), ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile."
|
echo "=> Profile not found. Tried ${NVM_PROFILE} (as defined in \$PROFILE), ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile."
|
||||||
@@ -302,17 +305,33 @@ nvm_do_install() {
|
|||||||
echo "=> Append the following lines to the correct file yourself:"
|
echo "=> Append the following lines to the correct file yourself:"
|
||||||
command printf "${SOURCE_STR}"
|
command printf "${SOURCE_STR}"
|
||||||
else
|
else
|
||||||
|
case "${NVM_PROFILE-}" in
|
||||||
|
".bashrc" | ".bash_profile" | ".zshrc")
|
||||||
|
BASH_OR_ZSH=true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
if ! command grep -qc '/nvm.sh' "$NVM_PROFILE"; then
|
if ! command grep -qc '/nvm.sh' "$NVM_PROFILE"; then
|
||||||
echo "=> Appending source string to $NVM_PROFILE"
|
echo "=> Appending nvm source string to $NVM_PROFILE"
|
||||||
command printf "$SOURCE_STR" >> "$NVM_PROFILE"
|
command printf "${SOURCE_STR}" >> "$NVM_PROFILE"
|
||||||
else
|
else
|
||||||
echo "=> Source string already in ${NVM_PROFILE}"
|
echo "=> nvm source string already in ${NVM_PROFILE}"
|
||||||
fi
|
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
|
fi
|
||||||
|
|
||||||
# Source nvm
|
# Source nvm
|
||||||
# shellcheck source=/dev/null
|
# shellcheck source=/dev/null
|
||||||
. "${INSTALL_DIR}/nvm.sh"
|
\. "${INSTALL_DIR}/nvm.sh"
|
||||||
|
|
||||||
nvm_check_global_modules
|
nvm_check_global_modules
|
||||||
|
|
||||||
@@ -321,7 +340,10 @@ nvm_do_install() {
|
|||||||
nvm_reset
|
nvm_reset
|
||||||
|
|
||||||
echo "=> Close and reopen your terminal to start using nvm or run the following to use it now:"
|
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="$(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
|
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
|
elif ! nvm use >/dev/null 2>&1; then
|
||||||
echo "No NODE_VERSION provided; no .nvmrc file found" >&2
|
echo "No NODE_VERSION provided; no .nvmrc file found" >&2
|
||||||
exit 127
|
exit 127
|
||||||
|
|||||||
301
nvm.sh
Normal file → Executable file
301
nvm.sh
Normal file → Executable file
@@ -22,6 +22,11 @@ nvm_echo() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_cd() {
|
||||||
|
# shellcheck disable=SC1001,SC2164
|
||||||
|
\cd "$@"
|
||||||
|
}
|
||||||
|
|
||||||
nvm_err() {
|
nvm_err() {
|
||||||
>&2 nvm_echo "$@"
|
>&2 nvm_echo "$@"
|
||||||
}
|
}
|
||||||
@@ -115,7 +120,7 @@ if [ -z "${NVM_DIR-}" ]; then
|
|||||||
NVM_SCRIPT_SOURCE="${BASH_SOURCE[0]}"
|
NVM_SCRIPT_SOURCE="${BASH_SOURCE[0]}"
|
||||||
fi
|
fi
|
||||||
# shellcheck disable=SC1001
|
# 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
|
export NVM_DIR
|
||||||
fi
|
fi
|
||||||
unset NVM_SCRIPT_SOURCE 2> /dev/null
|
unset NVM_SCRIPT_SOURCE 2> /dev/null
|
||||||
@@ -187,6 +192,10 @@ nvm_rc_version() {
|
|||||||
fi
|
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() {
|
nvm_version_greater() {
|
||||||
command awk 'BEGIN {
|
command awk 'BEGIN {
|
||||||
if (ARGV[1] == "" || ARGV[2] == "") exit(1)
|
if (ARGV[1] == "" || ARGV[2] == "") exit(1)
|
||||||
@@ -259,8 +268,7 @@ nvm_ensure_version_installed() {
|
|||||||
EXIT_CODE="$?"
|
EXIT_CODE="$?"
|
||||||
local NVM_VERSION_DIR
|
local NVM_VERSION_DIR
|
||||||
if [ "${EXIT_CODE}" != "0" ] || ! nvm_is_version_installed "${LOCAL_VERSION}"; then
|
if [ "${EXIT_CODE}" != "0" ] || ! nvm_is_version_installed "${LOCAL_VERSION}"; then
|
||||||
VERSION="$(nvm_resolve_alias "${PROVIDED_VERSION}")"
|
if VERSION="$(nvm_resolve_alias "${PROVIDED_VERSION}")"; then
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
nvm_err "N/A: version \"${PROVIDED_VERSION} -> ${VERSION}\" is not yet installed."
|
nvm_err "N/A: version \"${PROVIDED_VERSION} -> ${VERSION}\" is not yet installed."
|
||||||
nvm_err ""
|
nvm_err ""
|
||||||
nvm_err "You need to run \"nvm install ${PROVIDED_VERSION}\" to install it before using it."
|
nvm_err "You need to run \"nvm install ${PROVIDED_VERSION}\" to install it before using it."
|
||||||
@@ -371,7 +379,7 @@ nvm_remote_versions() {
|
|||||||
NVM_LS_REMOTE_PRE_MERGED_OUTPUT=''
|
NVM_LS_REMOTE_PRE_MERGED_OUTPUT=''
|
||||||
local NVM_LS_REMOTE_POST_MERGED_OUTPUT
|
local NVM_LS_REMOTE_POST_MERGED_OUTPUT
|
||||||
NVM_LS_REMOTE_POST_MERGED_OUTPUT=''
|
NVM_LS_REMOTE_POST_MERGED_OUTPUT=''
|
||||||
if [ -z "${NVM_FLAVOR}" ] || [ "${NVM_FLAVOR}" = "${NVM_NODE_PREFIX}" ]; then
|
if [ -z "${NVM_FLAVOR-}" ] || [ "${NVM_FLAVOR-}" = "${NVM_NODE_PREFIX}" ]; then
|
||||||
local NVM_LS_REMOTE_OUTPUT
|
local NVM_LS_REMOTE_OUTPUT
|
||||||
NVM_LS_REMOTE_OUTPUT=$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote "${PATTERN-}") &&:
|
NVM_LS_REMOTE_OUTPUT=$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote "${PATTERN-}") &&:
|
||||||
NVM_LS_REMOTE_EXIT_CODE=$?
|
NVM_LS_REMOTE_EXIT_CODE=$?
|
||||||
@@ -383,8 +391,8 @@ nvm_remote_versions() {
|
|||||||
local NVM_LS_REMOTE_IOJS_EXIT_CODE
|
local NVM_LS_REMOTE_IOJS_EXIT_CODE
|
||||||
NVM_LS_REMOTE_IOJS_EXIT_CODE=0
|
NVM_LS_REMOTE_IOJS_EXIT_CODE=0
|
||||||
local NVM_LS_REMOTE_IOJS_OUTPUT
|
local NVM_LS_REMOTE_IOJS_OUTPUT
|
||||||
if [ -z "${NVM_LTS}" ] && ( \
|
if [ -z "${NVM_LTS-}" ] && ( \
|
||||||
[ -z "${NVM_FLAVOR}" ] || [ "${NVM_FLAVOR}" = "${NVM_IOJS_PREFIX}" ] \
|
[ -z "${NVM_FLAVOR-}" ] || [ "${NVM_FLAVOR-}" = "${NVM_IOJS_PREFIX}" ] \
|
||||||
); then
|
); then
|
||||||
NVM_LS_REMOTE_IOJS_OUTPUT=$(nvm_ls_remote_iojs "${PATTERN-}") &&:
|
NVM_LS_REMOTE_IOJS_OUTPUT=$(nvm_ls_remote_iojs "${PATTERN-}") &&:
|
||||||
NVM_LS_REMOTE_IOJS_EXIT_CODE=$?
|
NVM_LS_REMOTE_IOJS_EXIT_CODE=$?
|
||||||
@@ -445,7 +453,7 @@ nvm_format_version() {
|
|||||||
if [ "${NUM_GROUPS}" -lt 3 ]; then
|
if [ "${NUM_GROUPS}" -lt 3 ]; then
|
||||||
nvm_format_version "${VERSION%.}.0"
|
nvm_format_version "${VERSION%.}.0"
|
||||||
else
|
else
|
||||||
nvm_echo "${VERSION}" | cut -f1-3 -d.
|
nvm_echo "${VERSION}" | command cut -f1-3 -d.
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -653,8 +661,7 @@ nvm_alias() {
|
|||||||
|
|
||||||
nvm_ls_current() {
|
nvm_ls_current() {
|
||||||
local NVM_LS_CURRENT_NODE_PATH
|
local NVM_LS_CURRENT_NODE_PATH
|
||||||
NVM_LS_CURRENT_NODE_PATH="$(command which node 2> /dev/null)"
|
if ! NVM_LS_CURRENT_NODE_PATH="$(command which node 2> /dev/null)"; then
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
nvm_echo 'none'
|
nvm_echo 'none'
|
||||||
elif nvm_tree_contains_path "$(nvm_version_dir iojs)" "${NVM_LS_CURRENT_NODE_PATH}"; then
|
elif nvm_tree_contains_path "$(nvm_version_dir iojs)" "${NVM_LS_CURRENT_NODE_PATH}"; then
|
||||||
nvm_add_iojs_prefix "$(iojs --version 2>/dev/null)"
|
nvm_add_iojs_prefix "$(iojs --version 2>/dev/null)"
|
||||||
@@ -887,7 +894,7 @@ nvm_ls() {
|
|||||||
PATTERN='v'
|
PATTERN='v'
|
||||||
SEARCH_PATTERN='.*'
|
SEARCH_PATTERN='.*'
|
||||||
else
|
else
|
||||||
SEARCH_PATTERN="$(echo "${PATTERN}" | sed "s#\.#\\\.#g;")"
|
SEARCH_PATTERN="$(echo "${PATTERN}" | command sed "s#\.#\\\.#g;")"
|
||||||
fi
|
fi
|
||||||
if [ -n "${NVM_DIRS_TO_SEARCH1}${NVM_DIRS_TO_SEARCH2}${NVM_DIRS_TO_SEARCH3}" ]; then
|
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}*" \
|
VERSIONS="$(command find "${NVM_DIRS_TO_SEARCH1}"/* "${NVM_DIRS_TO_SEARCH2}"/* "${NVM_DIRS_TO_SEARCH3}"/* -name . -o -type d -prune -o -path "${PATTERN}*" \
|
||||||
@@ -983,9 +990,9 @@ nvm_ls_remote_index_tab() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
local SORT_COMMAND
|
local SORT_COMMAND
|
||||||
SORT_COMMAND='sort'
|
SORT_COMMAND='command sort'
|
||||||
case "${FLAVOR}" in
|
case "${FLAVOR}" in
|
||||||
node) SORT_COMMAND='sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n' ;;
|
node) SORT_COMMAND='command sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n' ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
local PATTERN
|
local PATTERN
|
||||||
@@ -1018,7 +1025,7 @@ nvm_ls_remote_index_tab() {
|
|||||||
local LTS_VERSION
|
local LTS_VERSION
|
||||||
command mkdir -p "$(nvm_alias_path)/lts"
|
command mkdir -p "$(nvm_alias_path)/lts"
|
||||||
nvm_echo "${VERSION_LIST}" \
|
nvm_echo "${VERSION_LIST}" \
|
||||||
| awk '{
|
| command awk '{
|
||||||
if ($10 ~ /^\-?$/) { next }
|
if ($10 ~ /^\-?$/) { next }
|
||||||
if ($10 && !a[tolower($10)]++) {
|
if ($10 && !a[tolower($10)]++) {
|
||||||
if (alias) { print alias, version }
|
if (alias) { print alias, version }
|
||||||
@@ -1200,26 +1207,26 @@ nvm_checksum() {
|
|||||||
elif nvm_has "sha1" && ! nvm_is_alias "sha1"; then
|
elif nvm_has "sha1" && ! nvm_is_alias "sha1"; then
|
||||||
NVM_CHECKSUM="$(command sha1 -q "${1-}")"
|
NVM_CHECKSUM="$(command sha1 -q "${1-}")"
|
||||||
elif nvm_has "shasum" && ! nvm_is_alias "shasum"; then
|
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
|
else
|
||||||
nvm_err 'Unaliased sha1sum, sha1, or shasum not found.'
|
nvm_err 'Unaliased sha1sum, sha1, or shasum not found.'
|
||||||
return 2
|
return 2
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if nvm_has "sha256sum" && ! nvm_is_alias "sha256sum"; then
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
else
|
||||||
nvm_err 'Unaliased sha256sum, shasum, sha256, gsha256sum, openssl, libressl, or bssl not found.'
|
nvm_err 'Unaliased sha256sum, shasum, sha256, gsha256sum, openssl, libressl, or bssl not found.'
|
||||||
nvm_err 'WARNING: Continuing *without checksum verification*'
|
nvm_err 'WARNING: Continuing *without checksum verification*'
|
||||||
@@ -1440,6 +1447,7 @@ nvm_get_os() {
|
|||||||
Darwin\ *) NVM_OS=darwin ;;
|
Darwin\ *) NVM_OS=darwin ;;
|
||||||
SunOS\ *) NVM_OS=sunos ;;
|
SunOS\ *) NVM_OS=sunos ;;
|
||||||
FreeBSD\ *) NVM_OS=freebsd ;;
|
FreeBSD\ *) NVM_OS=freebsd ;;
|
||||||
|
AIX\ *) NVM_OS=aix ;;
|
||||||
esac
|
esac
|
||||||
nvm_echo "${NVM_OS-}"
|
nvm_echo "${NVM_OS-}"
|
||||||
}
|
}
|
||||||
@@ -1455,13 +1463,13 @@ nvm_get_arch() {
|
|||||||
# isainfo to get the instruction set supported by the
|
# isainfo to get the instruction set supported by the
|
||||||
# kernel.
|
# kernel.
|
||||||
if [ "_$NVM_OS" = "_sunos" ]; then
|
if [ "_$NVM_OS" = "_sunos" ]; then
|
||||||
HOST_ARCH=$(pkg_info -Q MACHINE_ARCH pkg_install)
|
if HOST_ARCH=$(pkg_info -Q MACHINE_ARCH pkg_install); then
|
||||||
EXIT_CODE=$?
|
HOST_ARCH=$(echo "${HOST_ARCH}" | command tail -1)
|
||||||
if [ $EXIT_CODE -ne 0 ]; then
|
|
||||||
HOST_ARCH=$(isainfo -n)
|
|
||||||
else
|
else
|
||||||
HOST_ARCH=$(echo "$HOST_ARCH" | command tail -1)
|
HOST_ARCH=$(isainfo -n)
|
||||||
fi
|
fi
|
||||||
|
elif [ "_$NVM_OS" = "_aix" ]; then
|
||||||
|
HOST_ARCH=ppc64
|
||||||
else
|
else
|
||||||
HOST_ARCH="$(command uname -m)"
|
HOST_ARCH="$(command uname -m)"
|
||||||
fi
|
fi
|
||||||
@@ -1562,8 +1570,6 @@ nvm_install_binary() {
|
|||||||
local VERSION
|
local VERSION
|
||||||
VERSION="$(nvm_strip_iojs_prefix "${PREFIXED_VERSION}")"
|
VERSION="$(nvm_strip_iojs_prefix "${PREFIXED_VERSION}")"
|
||||||
|
|
||||||
local VERSION_PATH
|
|
||||||
|
|
||||||
if [ -z "$(nvm_get_os)" ]; then
|
if [ -z "$(nvm_get_os)" ]; then
|
||||||
return 2
|
return 2
|
||||||
fi
|
fi
|
||||||
@@ -1578,14 +1584,24 @@ nvm_install_binary() {
|
|||||||
local TMPDIR
|
local TMPDIR
|
||||||
local VERSION_PATH
|
local VERSION_PATH
|
||||||
|
|
||||||
|
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)"
|
TARBALL="$(nvm_download_artifact "${FLAVOR}" binary "${TYPE-}" "${VERSION}" | command tail -1)"
|
||||||
if [ -f "${TARBALL}" ]; then
|
if [ -f "${TARBALL}" ]; then
|
||||||
TMPDIR="$(dirname "${TARBALL}")/files"
|
TMPDIR="$(dirname "${TARBALL}")/files"
|
||||||
fi
|
fi
|
||||||
|
local tar
|
||||||
|
tar='tar'
|
||||||
|
if [ "${NVM_OS}" = 'aix' ]; then
|
||||||
|
tar='gtar'
|
||||||
|
fi
|
||||||
if (
|
if (
|
||||||
[ -n "${TMPDIR-}" ] && \
|
[ -n "${TMPDIR-}" ] && \
|
||||||
command mkdir -p "${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}")" && \
|
VERSION_PATH="$(nvm_version_path "${PREFIXED_VERSION}")" && \
|
||||||
command mkdir -p "${VERSION_PATH}" && \
|
command mkdir -p "${VERSION_PATH}" && \
|
||||||
command mv "${TMPDIR}/"* "${VERSION_PATH}" && \
|
command mv "${TMPDIR}/"* "${VERSION_PATH}" && \
|
||||||
@@ -1717,27 +1733,35 @@ nvm_download_artifact() {
|
|||||||
TARBALL_URL="${MIRROR}/${SLUG}.tar.${COMPRESSION}"
|
TARBALL_URL="${MIRROR}/${SLUG}.tar.${COMPRESSION}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if nvm_compare_checksum "${TARBALL}" "${CHECKSUM}" >/dev/null 2>&1; then
|
if [ -r "${TARBALL}" ]; then
|
||||||
nvm_err "Checksums match! Using existing downloaded archive $(nvm_sanitize_path "${TARBALL}")"
|
nvm_err "Local cache found: $(nvm_sanitize_path "${TARBALL}")"
|
||||||
else
|
if nvm_compare_checksum "${TARBALL}" "${CHECKSUM}" >/dev/null 2>&1; then
|
||||||
nvm_echo "Downloading ${TARBALL_URL}..."
|
nvm_err "Checksums match! Using existing downloaded archive $(nvm_sanitize_path "${TARBALL}")"
|
||||||
nvm_download -L -C - --progress-bar "${TARBALL_URL}" -o "${TARBALL}" || (
|
nvm_echo "${TARBALL}"
|
||||||
command rm -rf "${TARBALL}" "${tmpdir}"
|
return 0
|
||||||
nvm_err "Binary download from ${TARBALL_URL} failed, trying source."
|
|
||||||
return 4
|
|
||||||
)
|
|
||||||
|
|
||||||
if nvm_grep '404 Not Found' "${TARBALL}" >/dev/null; then
|
|
||||||
command rm -rf "${TARBALL}" "$tmpdir"
|
|
||||||
nvm_err "HTTP 404 at URL ${TARBALL_URL}";
|
|
||||||
return 5
|
|
||||||
fi
|
fi
|
||||||
|
nvm_compare_checksum "${TARBALL}" "${CHECKSUM}"
|
||||||
nvm_compare_checksum "${TARBALL}" "${CHECKSUM}" || (
|
nvm_err "Checksum check failed!"
|
||||||
command rm -rf "${tmpdir}/files"
|
nvm_err "Removing the broken local cache..."
|
||||||
return 6
|
command rm -rf "${TARBALL}"
|
||||||
)
|
|
||||||
fi
|
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."
|
||||||
|
return 4
|
||||||
|
)
|
||||||
|
|
||||||
|
if nvm_grep '404 Not Found' "${TARBALL}" >/dev/null; then
|
||||||
|
command rm -rf "${TARBALL}" "$tmpdir"
|
||||||
|
nvm_err "HTTP 404 at URL ${TARBALL_URL}";
|
||||||
|
return 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
nvm_compare_checksum "${TARBALL}" "${CHECKSUM}" || (
|
||||||
|
command rm -rf "${tmpdir}/files"
|
||||||
|
return 6
|
||||||
|
)
|
||||||
|
|
||||||
nvm_echo "${TARBALL}"
|
nvm_echo "${TARBALL}"
|
||||||
}
|
}
|
||||||
@@ -1753,26 +1777,33 @@ nvm_get_make_jobs() {
|
|||||||
fi
|
fi
|
||||||
local NVM_OS
|
local NVM_OS
|
||||||
NVM_OS="$(nvm_get_os)"
|
NVM_OS="$(nvm_get_os)"
|
||||||
local NVM_CPU_THREADS
|
local NVM_CPU_CORES
|
||||||
if [ "_$NVM_OS" = "_linux" ]; then
|
case "_$NVM_OS" in
|
||||||
NVM_CPU_THREADS="$(nvm_grep -c -E '^processor.+: [0-9]+' /proc/cpuinfo)"
|
"_linux")
|
||||||
elif [ "_$NVM_OS" = "_freebsd" ] || [ "_$NVM_OS" = "_darwin" ]; then
|
NVM_CPU_CORES="$(nvm_grep -c -E '^processor.+: [0-9]+' /proc/cpuinfo)"
|
||||||
NVM_CPU_THREADS="$(sysctl -n hw.ncpu)"
|
;;
|
||||||
elif [ "_$NVM_OS" = "_sunos" ]; then
|
"_freebsd" | "_darwin")
|
||||||
NVM_CPU_THREADS="$(psrinfo | wc -l)"
|
NVM_CPU_CORES="$(sysctl -n hw.ncpu)"
|
||||||
fi
|
;;
|
||||||
if ! nvm_is_natural_num "$NVM_CPU_THREADS" ; then
|
"_sunos")
|
||||||
nvm_err 'Can not determine how many thread(s) we can use, set to only 1 now.'
|
NVM_CPU_CORES="$(psrinfo | wc -l)"
|
||||||
nvm_err 'Please report an issue on GitHub to help us make it better and run it faster on your computer!'
|
;;
|
||||||
|
"_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
|
NVM_MAKE_JOBS=1
|
||||||
else
|
else
|
||||||
nvm_echo "Detected that you have $NVM_CPU_THREADS CPU thread(s)"
|
nvm_echo "Detected that you have $NVM_CPU_CORES CPU core(s)"
|
||||||
if [ "$NVM_CPU_THREADS" -gt 2 ]; then
|
if [ "$NVM_CPU_CORES" -gt 2 ]; then
|
||||||
NVM_MAKE_JOBS=$((NVM_CPU_THREADS - 1))
|
NVM_MAKE_JOBS=$((NVM_CPU_CORES - 1))
|
||||||
nvm_echo "Set the number of jobs to $NVM_CPU_THREADS - 1 = $NVM_MAKE_JOBS jobs to speed up the build"
|
nvm_echo "Running with $NVM_MAKE_JOBS threads to speed up the build"
|
||||||
else
|
else
|
||||||
NVM_MAKE_JOBS=1
|
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
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -1822,9 +1853,24 @@ nvm_install_source() {
|
|||||||
|
|
||||||
local make
|
local make
|
||||||
make='make'
|
make='make'
|
||||||
if [ "${NVM_OS}" = 'freebsd' ]; then
|
local MAKE_CXX
|
||||||
make='gmake'
|
case "${NVM_OS}" in
|
||||||
MAKE_CXX='CXX=c++'
|
'freebsd')
|
||||||
|
make='gmake'
|
||||||
|
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
|
fi
|
||||||
|
|
||||||
local tar_compression_flag
|
local tar_compression_flag
|
||||||
@@ -1833,24 +1879,29 @@ nvm_install_source() {
|
|||||||
tar_compression_flag='J'
|
tar_compression_flag='J'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local tar
|
||||||
|
tar='tar'
|
||||||
|
if [ "${NVM_OS}" = 'aix' ]; then
|
||||||
|
tar='gtar'
|
||||||
|
fi
|
||||||
|
|
||||||
local TARBALL
|
local TARBALL
|
||||||
local TMPDIR
|
local TMPDIR
|
||||||
local VERSION_PATH
|
local VERSION_PATH
|
||||||
|
|
||||||
# shellcheck disable=SC2086
|
TARBALL="$(nvm_download_artifact "${FLAVOR}" source "${TYPE}" "${VERSION}" | command tail -1)" && \
|
||||||
|
[ -f "${TARBALL}" ] && \
|
||||||
|
TMPDIR="$(dirname "${TARBALL}")/files" && \
|
||||||
if (
|
if (
|
||||||
TARBALL="$(nvm_download_artifact "${FLAVOR}" source "${TYPE}" "${VERSION}" | command tail -1)" && \
|
# shellcheck disable=SC2086
|
||||||
[ -f "${TARBALL}" ] && \
|
|
||||||
TMPDIR="$(dirname "${TARBALL}")/files" && \
|
|
||||||
command mkdir -p "${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}")" && \
|
VERSION_PATH="$(nvm_version_path "${PREFIXED_VERSION}")" && \
|
||||||
cd "${TMPDIR}" && \
|
nvm_cd "${TMPDIR}" && \
|
||||||
./configure --prefix="${VERSION_PATH}" $ADDITIONAL_PARAMETERS && \
|
./configure --prefix="${VERSION_PATH}" $ADDITIONAL_PARAMETERS && \
|
||||||
$make -j "${NVM_MAKE_JOBS}" ${MAKE_CXX-} && \
|
$make -j "${NVM_MAKE_JOBS}" ${MAKE_CXX-} && \
|
||||||
command rm -f "${VERSION_PATH}" 2>/dev/null && \
|
command rm -f "${VERSION_PATH}" 2>/dev/null && \
|
||||||
$make -j "${NVM_MAKE_JOBS}" ${MAKE_CXX-} install && \
|
$make -j "${NVM_MAKE_JOBS}" ${MAKE_CXX-} install
|
||||||
command rm -rf "${TMPDIR}"
|
|
||||||
); then
|
); then
|
||||||
if ! nvm_has "npm" ; then
|
if ! nvm_has "npm" ; then
|
||||||
nvm_echo 'Installing npm...'
|
nvm_echo 'Installing npm...'
|
||||||
@@ -1870,6 +1921,7 @@ nvm_install_source() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
nvm_err "nvm: install ${VERSION} failed!"
|
nvm_err "nvm: install ${VERSION} failed!"
|
||||||
|
command rm -rf "${TMPDIR-}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2056,8 +2108,8 @@ nvm_check_file_permissions() {
|
|||||||
fi
|
fi
|
||||||
return 2
|
return 2
|
||||||
fi
|
fi
|
||||||
elif [ -e "$FILE" ] && [ ! -w "$FILE" ]; then
|
elif [ -e "$FILE" ] && [ ! -w "$FILE" ] && [ ! -O "$FILE" ]; then
|
||||||
nvm_err "file is not writable: $(nvm_sanitize_path "$FILE")"
|
nvm_err "file is not writable or self-owned: $(nvm_sanitize_path "$FILE")"
|
||||||
if [ "${ZSH_HAS_NONOMATCH_UNSET}" -eq 1 ] && nvm_has "setopt"; then
|
if [ "${ZSH_HAS_NONOMATCH_UNSET}" -eq 1 ] && nvm_has "setopt"; then
|
||||||
setopt nomatch
|
setopt nomatch
|
||||||
fi
|
fi
|
||||||
@@ -2353,33 +2405,58 @@ nvm() {
|
|||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "_$NVM_OS" = "_freebsd" ]; then
|
|
||||||
# node.js and io.js do not have a FreeBSD binary
|
|
||||||
nobinary=1
|
|
||||||
nvm_err "Currently, there is no binary for $NVM_OS"
|
|
||||||
elif [ "_$NVM_OS" = "_sunos" ]; then
|
|
||||||
# Not all node/io.js versions have a Solaris binary
|
|
||||||
if ! nvm_has_solaris_binary "$VERSION"; then
|
|
||||||
nobinary=1
|
|
||||||
nvm_err "Currently, there is no binary of version $VERSION for $NVM_OS"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
local NVM_INSTALL_SUCCESS
|
local NVM_INSTALL_SUCCESS
|
||||||
# skip binary install if "nobinary" option specified.
|
NVM_INSTALL_SUCCESS=false
|
||||||
if [ $nobinary -ne 1 ] && nvm_binary_available "$VERSION"; then
|
if [ -n "${NVM_INSTALL_THIRD_PARTY_HOOK-}" ]; then
|
||||||
if nvm_install_binary "${FLAVOR}" std "${VERSION}"; then
|
nvm_err '** $NVM_INSTALL_THIRD_PARTY_HOOK env var set; dispatching to third-party installation method **'
|
||||||
NVM_INSTALL_SUCCESS=true
|
local NVM_METHOD_PREFERENCE
|
||||||
|
NVM_METHOD_PREFERENCE='binary'
|
||||||
|
if [ $nobinary -eq 1 ]; then
|
||||||
|
NVM_METHOD_PREFERENCE='source'
|
||||||
fi
|
fi
|
||||||
fi
|
local VERSION_PATH
|
||||||
if [ "$NVM_INSTALL_SUCCESS" != true ]; then
|
VERSION_PATH="$(nvm_version_path "${VERSION}")"
|
||||||
if [ -z "${NVM_MAKE_JOBS-}" ]; then
|
local EXIT_CODE
|
||||||
nvm_get_make_jobs
|
"${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
|
||||||
|
nvm_err "Currently, there is no binary for $NVM_OS"
|
||||||
|
elif [ "_$NVM_OS" = "_sunos" ]; then
|
||||||
|
# Not all node/io.js versions have a Solaris binary
|
||||||
|
if ! nvm_has_solaris_binary "$VERSION"; then
|
||||||
|
nobinary=1
|
||||||
|
nvm_err "Currently, there is no binary of version $VERSION for $NVM_OS"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if nvm_install_source "${FLAVOR}" std "${VERSION}" "${NVM_MAKE_JOBS}" "${ADDITIONAL_PARAMETERS}"; then
|
# skip binary install if "nobinary" option specified.
|
||||||
NVM_INSTALL_SUCCESS=true
|
if [ $nobinary -ne 1 ] && nvm_binary_available "$VERSION"; then
|
||||||
|
if nvm_install_binary "${FLAVOR}" std "${VERSION}"; then
|
||||||
|
NVM_INSTALL_SUCCESS=true
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
if [ "$NVM_INSTALL_SUCCESS" != true ]; then
|
||||||
|
if [ -z "${NVM_MAKE_JOBS-}" ]; then
|
||||||
|
nvm_get_make_jobs
|
||||||
|
fi
|
||||||
|
|
||||||
|
if nvm_install_source "${FLAVOR}" std "${VERSION}" "${NVM_MAKE_JOBS}" "${ADDITIONAL_PARAMETERS}"; then
|
||||||
|
NVM_INSTALL_SUCCESS=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$NVM_INSTALL_SUCCESS" = true ] && nvm use "$VERSION"; then
|
if [ "$NVM_INSTALL_SUCCESS" = true ] && nvm use "$VERSION"; then
|
||||||
@@ -2500,7 +2577,7 @@ nvm() {
|
|||||||
nvm_echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
|
nvm_echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
unset NVM_BIN NVM_PATH
|
unset NVM_BIN
|
||||||
;;
|
;;
|
||||||
"use" )
|
"use" )
|
||||||
local PROVIDED_VERSION
|
local PROVIDED_VERSION
|
||||||
@@ -2568,10 +2645,14 @@ nvm() {
|
|||||||
fi
|
fi
|
||||||
return 8
|
return 8
|
||||||
fi
|
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
|
# This nvm_ensure_version_installed call can be a performance bottleneck
|
||||||
# on shell startup. Perhaps we can optimize it away or make it faster.
|
# on shell startup. Perhaps we can optimize it away or make it faster.
|
||||||
if ! nvm_ensure_version_installed "${VERSION}"; then
|
elif ! nvm_ensure_version_installed "${VERSION}"; then
|
||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -2594,7 +2675,6 @@ nvm() {
|
|||||||
fi
|
fi
|
||||||
export PATH
|
export PATH
|
||||||
hash -r
|
hash -r
|
||||||
export NVM_PATH="$NVM_VERSION_DIR/lib/node"
|
|
||||||
export NVM_BIN="$NVM_VERSION_DIR/bin"
|
export NVM_BIN="$NVM_VERSION_DIR/bin"
|
||||||
if [ "${NVM_SYMLINK_CURRENT-}" = true ]; then
|
if [ "${NVM_SYMLINK_CURRENT-}" = true ]; then
|
||||||
command rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current"
|
command rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current"
|
||||||
@@ -3022,7 +3102,7 @@ nvm() {
|
|||||||
for LINK in $LINKS; do
|
for LINK in $LINKS; do
|
||||||
set +f; unset IFS # restore variable expansion
|
set +f; unset IFS # restore variable expansion
|
||||||
if [ -n "$LINK" ]; then
|
if [ -n "$LINK" ]; then
|
||||||
(cd "$LINK" && npm link)
|
(nvm_cd "$LINK" && npm link)
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
set +f; unset IFS # restore variable expansion in case $LINKS was empty
|
set +f; unset IFS # restore variable expansion in case $LINKS was empty
|
||||||
@@ -3070,7 +3150,7 @@ nvm() {
|
|||||||
NVM_VERSION_ONLY=true NVM_LTS="${NVM_LTS-}" nvm_remote_version "${PATTERN:-node}"
|
NVM_VERSION_ONLY=true NVM_LTS="${NVM_LTS-}" nvm_remote_version "${PATTERN:-node}"
|
||||||
;;
|
;;
|
||||||
"--version" )
|
"--version" )
|
||||||
nvm_echo '0.32.1'
|
nvm_echo '0.33.0'
|
||||||
;;
|
;;
|
||||||
"unload" )
|
"unload" )
|
||||||
unset -f nvm \
|
unset -f nvm \
|
||||||
@@ -3079,7 +3159,7 @@ nvm() {
|
|||||||
nvm_is_iojs_version nvm_is_alias \
|
nvm_is_iojs_version nvm_is_alias \
|
||||||
nvm_ls_remote nvm_ls_remote_iojs nvm_ls_remote_index_tab \
|
nvm_ls_remote nvm_ls_remote_iojs nvm_ls_remote_index_tab \
|
||||||
nvm_ls nvm_remote_version nvm_remote_versions \
|
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_get_mirror nvm_get_download_slug nvm_download_artifact \
|
||||||
nvm_install_source nvm_check_file_permissions \
|
nvm_install_source nvm_check_file_permissions \
|
||||||
nvm_print_versions nvm_compute_checksum nvm_checksum \
|
nvm_print_versions nvm_compute_checksum nvm_checksum \
|
||||||
@@ -3091,7 +3171,7 @@ nvm() {
|
|||||||
nvm_binary_available nvm_prepend_path nvm_strip_path \
|
nvm_binary_available nvm_prepend_path nvm_strip_path \
|
||||||
nvm_num_version_groups nvm_format_version nvm_ensure_version_prefix \
|
nvm_num_version_groups nvm_format_version nvm_ensure_version_prefix \
|
||||||
nvm_normalize_version nvm_is_valid_version \
|
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_version_path nvm_alias_path nvm_version_dir \
|
||||||
nvm_find_nvmrc nvm_find_up nvm_tree_contains_path \
|
nvm_find_nvmrc nvm_find_up nvm_tree_contains_path \
|
||||||
nvm_version_greater nvm_version_greater_than_or_equal_to \
|
nvm_version_greater nvm_version_greater_than_or_equal_to \
|
||||||
@@ -3099,15 +3179,18 @@ nvm() {
|
|||||||
nvm_has_system_node nvm_has_system_iojs \
|
nvm_has_system_node nvm_has_system_iojs \
|
||||||
nvm_download nvm_get_latest nvm_has \
|
nvm_download nvm_get_latest nvm_has \
|
||||||
nvm_supports_source_options nvm_auto nvm_supports_xz \
|
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_die_on_prefix nvm_get_make_jobs nvm_get_minor_version \
|
||||||
nvm_has_solaris_binary nvm_is_merged_node_version \
|
nvm_has_solaris_binary nvm_is_merged_node_version \
|
||||||
nvm_is_natural_num nvm_is_version_installed \
|
nvm_is_natural_num nvm_is_version_installed \
|
||||||
nvm_list_aliases nvm_make_alias nvm_print_alias_path \
|
nvm_list_aliases nvm_make_alias nvm_print_alias_path \
|
||||||
nvm_print_default_alias nvm_print_formatted_alias nvm_resolve_local_alias \
|
nvm_print_default_alias nvm_print_formatted_alias nvm_resolve_local_alias \
|
||||||
nvm_sanitize_path nvm_has_colors nvm_process_parameters \
|
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
|
> /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
|
>&2 nvm --help
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nvm",
|
"name": "nvm",
|
||||||
"version": "0.32.1",
|
"version": "0.33.0",
|
||||||
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
||||||
"directories": {
|
"directories": {
|
||||||
"test": "test"
|
"test": "test"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
OUTPUT="$(nvm alias foo/bar baz 2>&1)"
|
OUTPUT="$(nvm alias foo/bar baz 2>&1)"
|
||||||
EXPECTED_OUTPUT="Aliases in subdirectories are not supported."
|
EXPECTED_OUTPUT="Aliases in subdirectories are not supported."
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
OUTPUT="$(nvm unalias foo/bar 2>&1)"
|
OUTPUT="$(nvm unalias foo/bar 2>&1)"
|
||||||
EXPECTED_OUTPUT="Aliases in subdirectories are not supported."
|
EXPECTED_OUTPUT="Aliases in subdirectories are not supported."
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
if [ -n "$ZSH_VERSION" ]; then
|
if [ -n "$ZSH_VERSION" ]; then
|
||||||
# set clobber option in order to test that this does not produce any
|
# set clobber option in order to test that this does not produce any
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
[ $(nvm alias test-stable-1 | wc -l) = '2' ]
|
[ $(nvm alias test-stable-1 | wc -l) = '2' ]
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
NVM_ALIAS_OUTPUT=$(nvm alias | strip_colors)
|
NVM_ALIAS_OUTPUT=$(nvm alias | strip_colors)
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
cleanup () {
|
cleanup () {
|
||||||
rm -rf "$(nvm_alias_path)/stable"
|
rm -rf "$(nvm_alias_path)/stable"
|
||||||
rm -rf "$(nvm_alias_path)/unstable"
|
rm -rf "$(nvm_alias_path)/unstable"
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
NVM_ALIAS_OUTPUT="$(nvm alias | strip_colors)"
|
NVM_ALIAS_OUTPUT="$(nvm alias | strip_colors)"
|
||||||
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-1 -> 0.0.1 (-> v0.0.1)' \
|
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-1 -> 0.0.1 (-> v0.0.1)' \
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/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="$(nvm_resolve_alias loopback | strip_colors)"
|
||||||
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_alias loopback was not ∞; got $ALIAS"
|
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_alias loopback was not ∞; got $ALIAS"
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/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="$(nvm_resolve_local_alias loopback | strip_colors)"
|
||||||
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_local_alias loopback was not ∞; got $ALIAS"
|
[ "_$ALIAS" = "_∞" ] || die "nvm_resolve_local_alias loopback was not ∞; got $ALIAS"
|
||||||
|
|||||||
@@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
. ../../../../nvm.sh
|
\. ../../../../nvm.sh
|
||||||
. ../../../common.sh
|
\. ../../../common.sh
|
||||||
|
|
||||||
LTS_ALIAS_PATH="$(nvm_alias_path)/lts"
|
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"
|
[ ! -d "${LTS_ALIAS_PATH}" ] || die "'${LTS_ALIAS_PATH}' exists and should not"
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../../nvm.sh
|
\. ../../../../nvm.sh
|
||||||
|
|
||||||
LTS_ALIAS_PATH="$(nvm_alias_path)/lts"
|
LTS_ALIAS_PATH="$(nvm_alias_path)/lts"
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../../nvm.sh
|
\. ../../../../nvm.sh
|
||||||
|
|
||||||
LTS_ALIAS_PATH="$(nvm_alias_path)/lts"
|
LTS_ALIAS_PATH="$(nvm_alias_path)/lts"
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/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"
|
nvm alias default 0.1 >/dev/null || die "'nvm alias default 0.1' failed"
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
EXIT_CODE=$(nvm_resolve_alias ; echo $?)
|
EXIT_CODE=$(nvm_resolve_alias ; echo $?)
|
||||||
[ $EXIT_CODE = "1" ] || die "nvm_resolve_alias without an argument did not return 1; got $EXIT_CODE"
|
[ $EXIT_CODE = "1" ] || die "nvm_resolve_alias without an argument did not return 1; got $EXIT_CODE"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
EXIT_CODE=$(nvm_resolve_local_alias ; echo $?)
|
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"
|
[ "_$EXIT_CODE" = "_1" ] || die "nvm_resolve_local_alias without an argument did not return 1; got $EXIT_CODE"
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir -p "${NVM_DIR}/v0.0.2"
|
mkdir -p "${NVM_DIR}/v0.0.2"
|
||||||
mkdir -p "${NVM_DIR}/v0.0.20"
|
mkdir -p "${NVM_DIR}/v0.0.20"
|
||||||
mkdir -p "${NVM_DIR}/versions/node/v0.12.0"
|
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.
|
# The result should contain only the appropriate version numbers.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
nvm which nonexistent_version
|
nvm which nonexistent_version
|
||||||
[ "_$?" = "_1" ]
|
[ "_$?" = "_1" ]
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir "${NVM_DIR}/v0.0.2"
|
mkdir "${NVM_DIR}/v0.0.2"
|
||||||
mkdir "${NVM_DIR}/v0.0.20"
|
mkdir "${NVM_DIR}/v0.0.20"
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
# The result should contain only the appropriate version numbers.
|
# The result should contain only the appropriate version numbers.
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir "${NVM_DIR}/v0.1.3"
|
mkdir "${NVM_DIR}/v0.1.3"
|
||||||
mkdir "${NVM_DIR}/v0.2.3"
|
mkdir "${NVM_DIR}/v0.2.3"
|
||||||
mkdir "${NVM_DIR}/v0.20.3"
|
mkdir "${NVM_DIR}/v0.20.3"
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
# The result should contain only the appropriate version numbers.
|
# The result should contain only the appropriate version numbers.
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
nvm ls nonexistent_version
|
nvm ls nonexistent_version
|
||||||
[ "$?" = "3" ]
|
[ "$?" = "3" ]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
nvm ls io
|
nvm ls io
|
||||||
[ "$?" = "3" ]
|
[ "$?" = "3" ]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
nvm ls node_
|
nvm ls node_
|
||||||
[ "$?" = "3" ]
|
[ "$?" = "3" ]
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
mkdir "${NVM_DIR}/v0.2.3"
|
mkdir "${NVM_DIR}/v0.2.3"
|
||||||
mkdir "${NVM_DIR}/v0.3.3"
|
mkdir "${NVM_DIR}/v0.3.3"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/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.1"
|
||||||
mkdir -p "${NVM_DIR}/v0.0.3"
|
mkdir -p "${NVM_DIR}/v0.0.3"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir "${NVM_DIR}/v0.0.1"
|
mkdir "${NVM_DIR}/v0.0.1"
|
||||||
mkdir "${NVM_DIR}/v0.0.3"
|
mkdir "${NVM_DIR}/v0.0.3"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir "${NVM_DIR}/v0.1.3"
|
mkdir "${NVM_DIR}/v0.1.3"
|
||||||
mkdir "${NVM_DIR}/v0.2.3"
|
mkdir "${NVM_DIR}/v0.2.3"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir "${NVM_DIR}/v0.1.3"
|
mkdir "${NVM_DIR}/v0.1.3"
|
||||||
mkdir "${NVM_DIR}/v0.2.3"
|
mkdir "${NVM_DIR}/v0.2.3"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/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.1"
|
||||||
mkdir -p "${NVM_DIR}/v0.0.3"
|
mkdir -p "${NVM_DIR}/v0.0.3"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir -p "${NVM_DIR}/versions/node/v0.12.1"
|
mkdir -p "${NVM_DIR}/versions/node/v0.12.1"
|
||||||
mkdir "${NVM_DIR}/v0.1.3"
|
mkdir "${NVM_DIR}/v0.1.3"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir "${NVM_DIR}/v0.1.2"
|
mkdir "${NVM_DIR}/v0.1.2"
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
|
|
||||||
nvm alias test v0.1.2
|
nvm alias test v0.1.2
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
|
|
||||||
nvm deactivate 2>&1
|
nvm deactivate 2>&1
|
||||||
|
|
||||||
|
|||||||
@@ -4,21 +4,19 @@ set -ex
|
|||||||
|
|
||||||
mkdir -p ../../v0.2.3
|
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
|
[ `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"
|
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 "$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 "$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
|
# ^ 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"
|
nvm deactivate || die "Failed to deactivate v0.2.3"
|
||||||
[ `expr "$PATH" : ".*v0.2.3/.*/bin"` = 0 ] || die "PATH not cleaned properly"
|
[ `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"
|
[ `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_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
|
set -ex
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
cleanup () {
|
cleanup () {
|
||||||
rm -rf "${NVM_DIR}/v0.10.4"
|
rm -rf "${NVM_DIR}/v0.10.4"
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
|
|
||||||
mkdir "${NVM_DIR}/v0.10.4"
|
mkdir "${NVM_DIR}/v0.10.4"
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
|
|
||||||
set +ex # needed for stderr
|
set +ex # needed for stderr
|
||||||
OUTPUT="$(nvm install invalid.invalid 2>&1)"
|
OUTPUT="$(nvm install invalid.invalid 2>&1)"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ ALIAS_PATH="../../alias"
|
|||||||
|
|
||||||
echo v0.1.2 > "${ALIAS_PATH}/test"
|
echo v0.1.2 > "${ALIAS_PATH}/test"
|
||||||
|
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
|
|
||||||
nvm unalias test
|
nvm unalias test
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,25 @@
|
|||||||
|
|
||||||
set -ex
|
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"
|
type nvm > /dev/null 2>&1 || die "nvm not loaded"
|
||||||
|
|
||||||
nvm unload
|
nvm unload
|
||||||
|
|
||||||
|
typeset -f | awk '/ \(\) $/ && !/^main / {print $1}' > "${AFTER}"
|
||||||
|
|
||||||
! type nvm > /dev/null 2>&1 || die "nvm not unloaded"
|
! 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
|
set -ex
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
rm -rf "$(nvm_alias_path)/foo"
|
rm -rf "$(nvm_alias_path)/foo"
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
|
|
||||||
nvm_make_alias foo foo
|
nvm_make_alias foo foo
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
. ../common.sh
|
\. ../common.sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
VERSION="v3.99.0"
|
VERSION="v3.99.0"
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ cleanup() {
|
|||||||
rm -rf "$(nvm_version_path "iojs-${VERSION}")"
|
rm -rf "$(nvm_version_path "iojs-${VERSION}")"
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
|
|
||||||
nvm deactivate || die "unable to deactivate; current: >$(nvm current)<"
|
nvm deactivate || die "unable to deactivate; current: >$(nvm current)<"
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ set -ex
|
|||||||
cleanup() {
|
cleanup() {
|
||||||
unset -f nvm_has_system_node nvm_print_npm_version
|
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_has_system_node() { return 0; }
|
||||||
nvm_print_npm_version() { command printf ' (npm v1.2.3)'; }
|
nvm_print_npm_version() { command printf ' (npm v1.2.3)'; }
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
export NVM_SYMLINK_CURRENT=true
|
export NVM_SYMLINK_CURRENT=true
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
|
|
||||||
rm -rf "${NVM_DIR}/v0.10.29"
|
rm -rf "${NVM_DIR}/v0.10.29"
|
||||||
mkdir "${NVM_DIR}/v0.10.29"
|
mkdir "${NVM_DIR}/v0.10.29"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
|
|
||||||
TEST_NODE_VERSION="v0.10.29"
|
TEST_NODE_VERSION="v0.10.29"
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
|
|
||||||
nvm
|
nvm
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
set -- yes
|
set -- yes
|
||||||
. ../../nvm.sh
|
\. ../../nvm.sh
|
||||||
[ "$1" = yes ]
|
[ "$1" = yes ]
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
assert_not_ok iojs_version_has_solaris_binary ""
|
assert_not_ok iojs_version_has_solaris_binary ""
|
||||||
assert_not_ok iojs_version_has_solaris_binary "foo"
|
assert_not_ok iojs_version_has_solaris_binary "foo"
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
# Invalid version numbers fail
|
# Invalid version numbers fail
|
||||||
assert_not_ok node_version_has_solaris_binary ""
|
assert_not_ok node_version_has_solaris_binary ""
|
||||||
|
|||||||
@@ -2,17 +2,17 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
unset -f nvm_download nvm_ls_remote nvm_ls_remote_iojs
|
unset -f nvm_download nvm_ls_remote nvm_ls_remote_iojs
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
nvm deactivate 2>/dev/null || die 'unable to deactivate'
|
nvm deactivate 2>/dev/null || die 'unable to deactivate'
|
||||||
|
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
REMOTE="$PWD/mocks/nvm_ls_remote.txt"
|
REMOTE="$PWD/mocks/nvm_ls_remote.txt"
|
||||||
nvm_ls_remote() {
|
nvm_ls_remote() {
|
||||||
|
|||||||
@@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
unset -f nvm_remote_version
|
unset -f nvm_remote_version
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
nvm_remote_version() {
|
nvm_remote_version() {
|
||||||
echo "NVM_VERSION_ONLY:${NVM_VERSION_ONLY-},NVM_LTS:${NVM_LTS-},PATTERN:${PATTERN-}"
|
echo "NVM_VERSION_ONLY:${NVM_VERSION_ONLY-},NVM_LTS:${NVM_LTS-},PATTERN:${PATTERN-}"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/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 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"'
|
[ "_$(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
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup () {
|
cleanup () {
|
||||||
rm -rf ../../../alias/test
|
rm -rf ../../../alias/test
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
OUTPUT="$(nvm_alias 2>&1)"
|
OUTPUT="$(nvm_alias 2>&1)"
|
||||||
EXPECTED_OUTPUT='An alias is required.'
|
EXPECTED_OUTPUT='An alias is required.'
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/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"
|
[ "_$(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
|
rm tmp/emptyfile tmp/testfile
|
||||||
rmdir tmp
|
rmdir tmp
|
||||||
}
|
}
|
||||||
die () { echo $@ ; cleanup; exit 1; }
|
die () { echo "$@" ; cleanup; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir -p tmp
|
mkdir -p tmp
|
||||||
touch tmp/emptyfile
|
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 () {
|
cleanup () {
|
||||||
unset -f nvm_compute_checksum
|
unset -f nvm_compute_checksum
|
||||||
}
|
}
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
set +x
|
set +x
|
||||||
OUTPUT="$(nvm_compute_checksum 2>&1 >/dev/null || echo)"
|
OUTPUT="$(nvm_compute_checksum 2>&1 >/dev/null || echo)"
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ cleanup () {
|
|||||||
alias npm='\npm'
|
alias npm='\npm'
|
||||||
unset -f nvm_has 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)"
|
OUTPUT="$(nvm_die_on_prefix 2>&1)"
|
||||||
EXPECTED_OUTPUT="First argument \"delete the prefix\" must be zero or one"
|
EXPECTED_OUTPUT="First argument \"delete the prefix\" must be zero or one"
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/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"
|
EXPECTED_OUTPUT="nvm_ensure_default_set: a version is required"
|
||||||
OUTPUT="$(nvm_ensure_default_set 2>&1 >/dev/null)"
|
OUTPUT="$(nvm_ensure_default_set 2>&1 >/dev/null)"
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
cleanup () {
|
cleanup () {
|
||||||
rm -rf "$(nvm_version_path v0.1.2)"
|
rm -rf "$(nvm_version_path v0.1.2)"
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir -p "$(nvm_version_path v0.1.2)"
|
mkdir -p "$(nvm_version_path v0.1.2)"
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/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 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"'
|
[ "_$(nvm_ensure_version_prefix v1)" = "_v1" ] || die '"nvm_ensure_version_prefix v1" did not return "v1"'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
setup() {
|
setup() {
|
||||||
cleanup
|
cleanup
|
||||||
mkdir -p tmp_nvm_find_up/a/b/c/d
|
mkdir -p tmp_nvm_find_up/a/b/c/d
|
||||||
@@ -11,7 +11,7 @@ cleanup () {
|
|||||||
rm -rf tmp_nvm_find_up
|
rm -rf tmp_nvm_find_up
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
setup
|
setup
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
INPUT="0.1.2"
|
INPUT="0.1.2"
|
||||||
OUTPUT="$(nvm_format_version "$INPUT")"
|
OUTPUT="$(nvm_format_version "$INPUT")"
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ cleanup() {
|
|||||||
export PATH=ORIG_PATH
|
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
|
# Directory where mocked binaries used by nvm_get_arch for each OS/arch are
|
||||||
# located
|
# located
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ set -ex
|
|||||||
cleanup () {
|
cleanup () {
|
||||||
unset -f nvm_download nvm_get_checksum_alg nvm_get_mirror
|
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
|
set +e # TODO: fix
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
nvm_get_mirror() {
|
nvm_get_mirror() {
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
ALG="$(nvm_get_checksum_alg)"
|
ALG="$(nvm_get_checksum_alg)"
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
unset -f nvm_has
|
unset -f nvm_has
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
nvm_has() { return 1 ; }
|
nvm_has() { return 1 ; }
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
expect () {
|
expect () {
|
||||||
INPUT="$1"
|
INPUT="$1"
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
set -ex
|
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 || die 'unknown release type did not error'
|
||||||
! nvm_get_mirror node || die 'unknown release type did not error'
|
! nvm_get_mirror node || die 'unknown release type did not error'
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/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'
|
nvm_has cat && type cat > /dev/null || die 'nvm_has locates "cat" properly'
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
# Invalid version numbers fail
|
# Invalid version numbers fail
|
||||||
assert_not_ok nvm_has_solaris_binary ""
|
assert_not_ok nvm_has_solaris_binary ""
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ cleanup () {
|
|||||||
rm "${NVM_DIR}/versions/io.js/v0.1.2/iojs"
|
rm "${NVM_DIR}/versions/io.js/v0.1.2/iojs"
|
||||||
rmdir "${NVM_DIR}/versions/io.js/v0.1.2"
|
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"
|
mkdir "${NVM_DIR}/versions/io.js/v0.1.2"
|
||||||
touch "${NVM_DIR}/versions/io.js/v0.1.2/node"
|
touch "${NVM_DIR}/versions/io.js/v0.1.2/node"
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
cleanup () {
|
cleanup () {
|
||||||
rm -rf "${NVM_DIR}/v0.1.2/node"
|
rm -rf "${NVM_DIR}/v0.1.2/node"
|
||||||
}
|
}
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
mkdir "${NVM_DIR}/v0.1.2"
|
mkdir "${NVM_DIR}/v0.1.2"
|
||||||
touch "${NVM_DIR}/v0.1.2/node"
|
touch "${NVM_DIR}/v0.1.2/node"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/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?!'
|
[ "$(nvm_iojs_prefix)" = "iojs" ] || die '"nvm_iojs_prefix" did not return the string "iojs". why did this fail?!'
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
cleanup () { unalias foo; unalias grep; }
|
cleanup () { unalias foo; unalias grep; }
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
alias foo='bar'
|
alias foo='bar'
|
||||||
nvm_is_alias foo || die '"nvm_is_alias foo" was not true'
|
nvm_is_alias foo || die '"nvm_is_alias foo" was not true'
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/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-' || die '"nvm_is_iojs_version iojs- was not true'
|
||||||
nvm_is_iojs_version 'iojs-foo' || 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
|
#!/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 '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'
|
nvm_is_merged_node_version '5.1' || die '"nvm_is_merged_node_version 5.1 was not true'
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/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 'no args is not false'
|
||||||
! nvm_is_natural_num '' || die 'empty string is not false'
|
! nvm_is_natural_num '' || die 'empty string is not false'
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/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 0.1.2 || die "nvm_is_valid_version 0.1.2 did not return 0"
|
||||||
nvm_is_valid_version foo && die "nvm_is_valid_version foo did not return 1"
|
nvm_is_valid_version 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"
|
TEST_DIR="$TEST_PWD/nvm_ls_current_tmp"
|
||||||
|
|
||||||
cleanup() { rm -rf "$TEST_DIR"; unset -f return_zero; alias node='node' ; unalias node; }
|
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; }
|
return_zero () { return 0; }
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
unset -f nvm_download
|
unset -f nvm_download
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
MOCKS_DIR="$PWD/mocks"
|
MOCKS_DIR="$PWD/mocks"
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
TEST_PATH="$PWD/test_output"
|
TEST_PATH="$PWD/test_output"
|
||||||
mkdir -p "$TEST_PATH"
|
mkdir -p "$TEST_PATH"
|
||||||
@@ -14,7 +14,7 @@ cleanup() {
|
|||||||
rm -rf "$TEST_PATH"
|
rm -rf "$TEST_PATH"
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
unset -f nvm_download
|
unset -f nvm_download
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
# sample output at the time the test was written
|
# sample output at the time the test was written
|
||||||
TAB_PATH="$PWD/mocks/iojs.org-dist-index.tab"
|
TAB_PATH="$PWD/mocks/iojs.org-dist-index.tab"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
OUTPUT="$(nvm_make_alias 2>&1)"
|
OUTPUT="$(nvm_make_alias 2>&1)"
|
||||||
EXIT_CODE="$(nvm_make_alias >/dev/null 2>&1 ; echo $?)"
|
EXIT_CODE="$(nvm_make_alias >/dev/null 2>&1 ; echo $?)"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
[ "$(nvm_node_prefix)" = "node" ] || die '"nvm_node_prefix" did not return the string "node". why did this fail?!'
|
[ "$(nvm_node_prefix)" = "node" ] || die '"nvm_node_prefix" did not return the string "node". why did this fail?!'
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
[ "~$(nvm_num_version_groups)" = "~0" ] || die "no args should give 0"
|
[ "~$(nvm_num_version_groups)" = "~0" ] || die "no args should give 0"
|
||||||
[ "~$(nvm_num_version_groups v)" = "~0" ] || die "just "v" should give 0"
|
[ "~$(nvm_num_version_groups v)" = "~0" ] || die "just "v" should give 0"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
TEST_PATH=/usr/bin:/usr/local/bin
|
TEST_PATH=/usr/bin:/usr/local/bin
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup () {
|
cleanup () {
|
||||||
unset -f nvm_alias nvm_version
|
unset -f nvm_alias nvm_version
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
NVM_ALIAS_DIR='path/to/the alias/dir'
|
NVM_ALIAS_DIR='path/to/the alias/dir'
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
. ../../common.sh
|
\. ../../common.sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup () {
|
cleanup () {
|
||||||
unset -f nvm_print_implicit_alias nvm_version
|
unset -f nvm_print_implicit_alias nvm_version
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
nvm_print_implicit_alias() {
|
nvm_print_implicit_alias() {
|
||||||
echo ''
|
echo ''
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
EXPECTED_FIRST_MSG="nvm_print_implicit_alias must be specified with local or remote as the first argument."
|
EXPECTED_FIRST_MSG="nvm_print_implicit_alias must be specified with local or remote as the first argument."
|
||||||
[ "_$(nvm_print_implicit_alias 2>&1)" = "_$EXPECTED_FIRST_MSG" ] \
|
[ "_$(nvm_print_implicit_alias 2>&1)" = "_$EXPECTED_FIRST_MSG" ] \
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
cleanup() {
|
cleanup() {
|
||||||
rm -rf "${NVM_DIR}/v0.2.3"
|
rm -rf "${NVM_DIR}/v0.2.3"
|
||||||
rm -rf "${NVM_DIR}/v0.3.4"
|
rm -rf "${NVM_DIR}/v0.3.4"
|
||||||
@@ -13,7 +13,7 @@ cleanup() {
|
|||||||
unset -f nvm_ls_remote nvm_ls_remote_iojs
|
unset -f nvm_ls_remote nvm_ls_remote_iojs
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir "${NVM_DIR}/v0.2.3"
|
mkdir "${NVM_DIR}/v0.2.3"
|
||||||
mkdir "${NVM_DIR}/v0.3.4"
|
mkdir "${NVM_DIR}/v0.3.4"
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ cleanup () {
|
|||||||
alias npm='\npm'
|
alias npm='\npm'
|
||||||
unset -f nvm_has npm
|
unset -f nvm_has npm
|
||||||
}
|
}
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
nvm_has() { return 1; }
|
nvm_has() { return 1; }
|
||||||
OUTPUT="$(nvm_print_npm_version)"
|
OUTPUT="$(nvm_print_npm_version)"
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo "$@" ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
unset -f nvm_ls_remote nvm_ls_remote_iojs
|
unset -f nvm_ls_remote nvm_ls_remote_iojs
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
nvm_ls_remote() {
|
nvm_ls_remote() {
|
||||||
echo "N/A"
|
echo "N/A"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user