Commit Graph

876 Commits (9854928ba9ff6f24360207fa90135574746838f5)

Author SHA1 Message Date
Jordan Harband 6669e91bd8
v0.33.1 2017-02-20 17:59:20 -08:00
John-David Dalton 7c271729ef Enable working without tput. 2017-02-19 23:01:47 -08:00
Jordan Harband b54e147442
[Fix] `nvm unload`: run `nvm deactivate` before unsetting everything.
Fixes #1399.
2017-02-18 00:50:33 -08:00
Jordan Harband e7e4a9b3d6
[Fix] unset `NVM_RC_VERSION` env var immediately after it’s no longer needed.
Relates to #1399.
2017-02-18 00:48:41 -08:00
Jordan Harband 49e446dac1
[debug] include mirrors in `nvm debug` output. 2017-02-14 09:06:23 -08:00
Jordan Harband affcc5087c [Fix] `set -e`: `nvm install lts/something`: call `nvm_ensure_default_set` with the proper value.
Fixes #1394.
2017-02-11 23:19:29 -08:00
Jordan Harband 40e40975eb
v0.33.0 2016-12-29 21:22:13 -10:00
Jordan Harband 853afbf595
Revert "Revert "[Fix] `set -u`: ensure that potentially unbound variables aren’t called unchecked.""
This reverts commit a8c465018e.

Fixes #1363.
2016-12-26 21:57:55 -08:00
Jordan Harband a8c465018e
Revert "[Fix] `set -u`: ensure that potentially unbound variables aren’t called unchecked."
This reverts commit 60239e39cd.
2016-12-25 12:18:56 -08:00
Jordan Harband 60239e39cd
[Fix] `set -u`: ensure that potentially unbound variables aren’t called unchecked.
Fixes #1363.
2016-12-25 11:31:37 -08:00
Jordan Harband fcd6331f09 [Fix] remove the unused and broken `$NVM_PATH`.
Added in 359a83e. Fixes #1353.
2016-12-16 10:57:22 -08:00
Peter Dave Hello 45771499ee
[Fix] nvm should respect CC/CXX env var
- Also set CC for Freebsd, not only CXX

 - Also set CC=cc, CXX=c++ on Mac OS by default as upstream

Reference:
1bd871655a/configure (L16-L17)
2016-11-29 15:30:01 +08:00
Peter Dave Hello 84575cf353
[Refactor] Use "case" instead of multi "if" 2016-11-28 03:39:48 +08:00
Jordan Harband 47c60dfc1d
[Tests] add test to ensure that `nvm unload` unloads all functions. 2016-11-28 12:50:35 -08:00
Peter Dave Hello c96c561c88 [Fix] nvm unload missed node_version_has_solaris_binary() 2016-11-28 18:35:32 +08:00
Peter Dave Hello f29cd1a2ab
[Fix] nvm unload missed NVM_CD_FLAGS NVM_BIN NVM_MAKE_JOBS NVM_PATH 2016-11-28 04:14:21 +08:00
Peter Dave Hello 00a1ee6c4d
[Fix] nvm unload missed nvm_cache_dir() nvm_cd() 2016-11-28 04:10:42 +08:00
George Adams a7648ebd9f
[Fix] `nvm install -s`: `aix`: detect number of threads on aix and not just number of processors 2016-11-23 06:36:52 -05:00
Gibson Fahnestock 7f1917d0aa
[Refactor] Rename NVM_CPU_THREADS to NVM_CPU_CORES 2016-11-24 18:04:14 +00:00
Jordan Harband 5b820a453c [Refactor] avoid S2181 spellcheck error. 2016-11-25 00:56:28 -06:00
Peter Dave Hello 4b4e71f05c [shellcheck] disable "Check exit code directly" warning on line 273, 666
We need to use both the exit state and result form the previous commit,
so SC2181 should be disabled here.
2016-11-23 22:04:45 +08:00
Peter Dave Hello 65acb403ce
Add `nvm_clang_version` to ensure clang version > 3.5 2016-11-14 12:28:41 +08:00
Peter Dave Hello 38934bf16c
[New] `nvm install -s`: Use clang as C/C++ compiler if detected.
Fixes #902.
2016-11-14 05:39:34 +08:00
Peter Dave Hello 8c03637023
[Fix] `nvm install`: Handle 'N/A' version instead of asking to install it
Fixes #1304.
2016-11-14 19:31:35 +08:00
Peter Dave Hello 03608291a6
[caching] `nvm install`: Do not remove src dir after compilation succeeds
This will help speed up the installation time for the non-first time
installation, especially can speed up the build time and test time on
Travis-CI as we'll cache .cache dir.
2016-11-14 03:45:52 +08:00
Jordan Harband e5316ddbe3 [Fix] allow uninstalls when files are nonwritable but self-owned.
Fixes #1270.
2016-11-13 00:09:29 -08:00
Peter Dave Hello eab41ed8ef [Fix] add missing "command" prefix call for some commands 2016-11-13 04:53:41 +08:00
Peter Dave Hello c5303a6973 Improve nvm_download_artifact() process, fix #1291
- Delete broken/checksum not matched local cache
 - More output message.
2016-11-13 04:02:06 +08:00
George Adams 8f82eab5db Add AIX support
Currently AIX isn't supported in nvm so I have made a few small changes
to make this work:
change tar to gtar for AIX
change make to gmake for AIX
Set ARCH as ppc64 for AIX
2016-11-10 13:52:00 -05:00
Peter Dave Hello 9c92b5a4ea
[New] `nvm install`: Print the version that is being installed 2016-11-06 20:43:47 +08:00
Jordan Harband 24f8ae5c46
[New] support external install hook “$NVM_INSTALL_THIRD_PARTY_HOOK”.
Fixes #1207.
2016-11-03 23:42:55 -07:00
Jordan Harband 942e9ab1f5
[Fix] bypass aliased `cd` in a few places.
Fixes #1284.
2016-11-03 10:08:24 -07:00
Jordan Harband 589a9112bd
v0.32.1 2016-10-18 13:16:51 -07:00
Jordan Harband 76fe1ab1c6
[Fix] ensure that `lts/*` points to boron/latest, not argon/earliest.
- update test mocks
 - fix tests for Boron release

Fixes #1268.
2016-10-18 11:33:07 -07:00
Atsushi Yamamoto 3342367981 Fix indent at L2672 2016-10-08 18:01:27 -07:00
Jordan Harband f9e14b7d4d
[Fix] `nvm uninstall`: work around `nomatch` `zsh` option.
Fixes #1228.
2016-10-04 01:43:24 -07:00
Jordan Harband 160a39c844 [Refactor] fix copy-paste error from 5c68141ede 2016-09-18 19:06:18 -07:00
Jordan Harband d12ccb130d
[Fix] `zsh`: when `warncreateglobal` is set, this line warns for some reason. Use `env` to suppress it.
Fixes #1236.
2016-09-18 13:39:50 -07:00
Jordan Harband acbdd9a3fa
[Fix] Fix trailing whitespace in `nvm ls-remote` 2016-09-18 12:26:06 -07:00
Jordan Harband 256e75c789 [Fix] Remove un-local var EXIT_CODE.
Might possibly be a fix to part of #1236
2016-09-18 02:00:32 -07:00
Jordan Harband 5c68141ede
[Refactor] `nvm ls-remote`: make the main ls-remote command call into `nvm_remote_versions` directly. 2016-09-15 23:52:01 -07:00
Jordan Harband dc1d3aa943
[Refactor] `nvm_install_source`, `nvm_install_binary`, `nvm_download_artifact`: ensure a version is provided. 2016-09-17 09:24:42 -07:00
Jordan Harband 51b21bcad1
[Refactor] Use `||:` and `&&:` when appropriate 2016-09-16 23:16:58 -07:00
Jordan Harband 3b5f088e01
[Refactor] `nvm_ls_remote_index_tab`: clean up to use `nvm_get_mirror` 2016-09-15 22:45:10 -07:00
Jordan Harband dca0220275
[Refactor] `nvm_install_binary`: remove unused `nvm_get_mirror` call 2016-09-15 21:40:44 -07:00
Jordan Harband 63fe22d635
v0.32.0 2016-09-15 15:02:56 -07:00
Jordan Harband 332f413eb3
[New] expand `xz` support to more versions.
Per https://github.com/nodejs/node/pull/4894#issuecomment-175989848
2016-02-09 11:19:14 -08:00
Jordan Harband 4060de5285
[New] enable io.js and node 4+ source installs.
- consolidate `nvm_install_iojs_source` and `nvm_install_node_source` into `nvm_install_source`
2016-09-02 23:43:46 -07:00
Jordan Harband 715bb59c3b
Adapt `nvm_install_iojs_source` to support specifying `make` jobs. 2016-09-02 23:43:46 -07:00
Jordan Harband 9b8eab3163
[New] Add `nvm install -s iojs` support. 2016-09-02 23:43:46 -07:00
Jordan Harband e546149f7b
[New] add `nvm cache` with “dir” and “clean” commands.
- cache the nvm cache on travis
2016-09-02 23:43:46 -07:00
Jordan Harband 57c2004ab2
[Breaking] adapt `nvm_install_node_binary` to `nvm_install_binary`, eg, io.js too.
- `nvm_get_checksum` now accepts 5 args (from 3): flavor (node/iojs), type (binary/source), version, slug, compression (xz/gz)
 - `nvm_install_binary` accepts 3 args (from 2): flavor (node/iojs), kind (std), version
 - remove `nvm_install_iojs_binary`
2016-09-02 23:43:46 -07:00
Jordan Harband 2214cb7ad7
[Breaking] cache previously downloaded artifacts for source installs
- `nvm uninstall` no longer removes source artifacts
2016-09-02 23:43:46 -07:00
Jordan Harband ba3ad8e460
[Breaking] cache previously downloaded artifacts for binaries
- consolidate `nvm_install_merged_node_binary` with `nvm_install_node_binary`
 - add `nvm_get_download_slug`, `nvm_download_artifact`
 - `nvm uninstall` no longer removes artifacts
2016-09-02 23:43:45 -07:00
Jordan Harband eba50de75e
Add `nvm_compare_checksum`, `nvm_compute_checksum`, and `nvm_get_checksum` 2016-09-02 23:43:45 -07:00
Jordan Harband 25fa40e7cb
v0.31.7 2016-09-02 23:43:04 -07:00
Jordan Harband 6abc36ee4f [Fix] ensure LTS alias dir exists before writing to it.
Fixes #1216
2016-08-29 09:15:57 -07:00
Jordan Harband 31c68adbcf
v0.31.6 2016-08-23 14:36:15 -07:00
Jordan Harband d179810b25
v0.31.5 2016-08-23 11:12:21 -07:00
Jordan Harband 1ac7e236b1 [New] Add `lts/foo` support to remote commands.
- `nvm ls-remote`
 - `nvm version-remote`
 - `nvm install`
 - `nvm uninstall`

Document existing support:
 - `nvm use`
 - `nvm exec`
 - `nvm run`

Fixes #1208.
2016-08-23 10:58:00 -07:00
Jordan Harband 2228323c0b
[shellcheck] disable intentional violations via comments 2016-08-23 00:31:39 -07:00
Jordan Harband cbeb654692
[shellcheck] properly quote arguments. 2016-08-23 00:31:36 -07:00
Jordan Harband 24a9c089ff
[shellcheck] fix incorrect `A && B || C` usages. 2016-08-23 00:31:25 -07:00
Jordan Harband d3d768adcd
Add `nvm_get_mirror` 2016-08-10 23:09:54 -07:00
Jordan Harband 9c65197b22
Add `nvm_get_checksum_alg` 2016-08-09 22:24:09 -07:00
Jordan Harband bd3ca47714
[Fix] `nvm unload`: ensure all functions are unset 2016-08-11 10:58:16 -07:00
Jordan Harband ec4efa3ec7
[Refactor] `nvm install`: remove unused `REINSTALL_PACKAGES_FROM` argument to inner installation helpers. 2016-08-11 10:42:32 -07:00
Jordan Harband 08cbcf2254
[Fix] when not using `xz` on merged node versions, use `z` to extract, not `x` 2016-08-10 23:26:29 -07:00
Jordan Harband 4aa6902dbe
[Refactor] `nvm_install_merged_node_binary`: reduce nesting, fix var curlies. 2016-08-10 16:57:03 -07:00
Jordan Harband 0678652bd3 [New] `nvm ls`/`nvm ls-remote`/`nvm alias`: add `--no-colors` 2016-08-09 14:46:19 -07:00
Jordan Harband 206878460c [Refactor] always shift first argument to `nvm` 2016-08-09 13:33:43 -07:00
Jordan Harband 79270a579c
[Refactor] create `nvm_list_aliases` 2016-08-06 22:33:37 -07:00
Jordan Harband b6eb565ea1
[Refactor] `nvm alias`: reorganize so alias listing is done last 2016-08-08 15:50:05 -07:00
Jordan Harband 091c64c7c5
[Refactor] `nvm alias`: add in `--`-based argument support. 2016-08-08 13:37:14 -07:00
Jordan Harband 21b8f556b2
[Refactor] `nvm alias`: use named vars instead of positional args. 2016-08-08 13:21:42 -07:00
Jordan Harband a3bc4d3e62
[Refactor] `nvm alias`: shift out the “alias” 2016-08-08 13:18:53 -07:00
Jordan Harband 150ed490d0 [Refactor] use curlies with variables 2016-08-07 23:31:16 -07:00
Jordan Harband f9f140ec13
[Performance] make auto-using faster.
Per https://github.com/creationix/nvm/issues/539#issuecomment-236830764
2016-08-02 00:59:51 -07:00
Jordan Harband 31e58d1827
v0.31.4 2016-07-29 16:54:13 -07:00
Julien Gilli a32b914bab Fix nvm on SmartOS setups using 64 bits pkgsrc repository
On SmartOS setups using 64 bits pkgsrc repositories, `nvm_get_arch`
would not handle pkg_info's output properly.

This would result in nvm not being to install any node binary when
running on SmartOS setups using a 64 bits pkgsrc repository.

This change fixes this problem, and fixes the tests suite on similar
setups.
2016-07-29 14:08:31 -07:00
Sebastian Thomschke f4d57cc17d Fix for #871 find: warning: Unix filenames usually don't contain slashes 2016-07-20 13:31:47 +02:00
Jordan Harband 56417f88f9
v0.31.3 2016-07-20 00:51:48 -07:00
Jordan Harband 42fedf6bc9
[Tests] add some basic `nvm use --lts` tests 2016-07-03 08:37:03 -07:00
Jordan Harband bcb1f0b1c7
`nvm ls-remote`: skip io.js lookup when LTS is set. 2016-07-17 10:54:24 -07:00
Jordan Harband c3b16603c0
`nvm uninstall`: add `--lts` support 2016-07-17 20:18:05 -07:00
Jordan Harband 859be3f6a1
`nvm run`: add `--lts`/`--lts=argon` support 2016-05-04 00:29:37 -07:00
Jordan Harband 45627d0a40
`nvm exec`: add `--lts`/`--lts=argon` support. 2016-05-03 23:18:44 -07:00
Jordan Harband d1e51f361c
`nvm use`: Add `--lts`/`--lts=argon` support 2016-05-01 23:41:39 -07:00
Jordan Harband bf683272ea
`nvm alias`: colorize LTS aliases. 2016-04-30 12:50:59 -07:00
Jordan Harband c83664960e
Automatically create LTS aliases every time we talk to nodejs.org/dist 2016-04-27 15:20:22 -07:00
Jordan Harband 17c9bef4aa
`nvm alias`: add `lts/` support. 2016-04-26 23:07:22 -07:00
Jordan Harband 9bd743e0be
`nvm install`: Add support for `--lts` and `--lts=argon` 2016-04-25 00:44:24 -07:00
Jordan Harband 44f4817f7d
Prevent attempts to `nvm install --lts` 2016-04-25 00:44:24 -07:00
Jordan Harband 4699657e98
Add `--lts=argon` etc, so the LTS line can be targeted. 2016-04-25 00:55:35 -07:00
Jordan Harband 1d908d8256
Add `--lts` support to `nvm version-remote` 2016-04-24 16:26:32 -07:00
Jordan Harband 584bdd8ba3
Print the LTS version on all versions with that info, but put the non-latest in gray. 2016-04-24 10:55:30 -07:00
Jordan Harband ae07c3c345
Add support for `nvm ls-remote --lts` 2016-04-23 23:47:25 -07:00
Jordan Harband cb326cb19d
For now, keep the grep to do proper filtering 2016-04-22 10:25:47 -07:00
Jordan Harband 01c8b04fd5
Format LTS version when present. 2016-04-18 00:42:56 -07:00
Jordan Harband 865d2fe3d6
Include LTS version in `nvm_ls_remote` output. 2016-04-17 23:39:27 -07:00
Jordan Harband 9d8841a46c
Ensure only the version string is printed out in relevant places. 2016-04-18 01:00:55 -07:00
Jordan Harband ecbd7d4572 [Tests] use `-ex` option during tests when possible
Relates to #1130
2016-07-10 19:58:32 -07:00
Jordan Harband 803adac676
[Fix] ensure proper checking of the “shwordsplit” zsh option. 2016-07-08 02:11:51 -07:00
Jordan Harband 78a008c3c7
[Fix] use Solaris-compatible tail options.
Fixes #1148.
2016-07-06 15:31:25 -07:00
(Soreλ\a) 0f26656c2c npm -> nvm, and minor formatting issues 2016-07-05 20:34:08 -03:00
(Soreλ\a) 79d62fb16d Improve error messages for missing versions
`nvm use`, `nvm run` and others check if the version is installed before executing Node, but the error message could be clearer on what steps the user has to take to achieve what they want, this makes that clearer.
2016-07-05 19:55:39 -03:00
Peter Dave Hello 07bb79f405 Use `case` instead of multiple if/else statement. 2016-07-02 14:01:24 +08:00
Jordan Harband c4be39b8be
[Fix] remove the need for `sed -E`
Fixes #1126
2016-06-27 21:50:45 -07:00
Jordan Harband e1fdd316b7
[Refactor] create `nvm_grep` and remove standalone `GREP_OPTIONS` line. 2016-06-25 13:27:56 -07:00
Jordan Harband 9f5322ee84
v0.31.2 2016-06-25 09:42:53 -07:00
Jordan Harband b0244a133b
[Fix] `nvm ls`: avoid use of `maxdepth` which is not on Solaris/SmartOS
Fixes #1121.
2016-06-24 01:38:27 -07:00
Jordan Harband 36b1ea9236
[Fix] do not print help text on sourcing when an empty .nvmrc file is found.
Fixes #1113.
2016-06-14 09:57:37 -07:00
Jordan Harband 45ae48df2d
[Fix] `nvm install -s`: when “core id” doesn’t appear in /proc/cpuinfo, fall back to counting “processor” lines.
Fixes #1115.
2016-06-13 08:41:17 -07:00
ra100 b6481583af On aarch64 use arm64 packages 2016-06-10 08:00:51 +02:00
Jordan Harband 03cf6950ce
[shellcheck] remove use of `expr` 2016-06-06 17:55:06 -07:00
Jordan Harband 251a2f3409
[Fix] ensure `uname` is unaliased.
Closes #1105
2016-05-30 21:50:30 -07:00
Stephan DONIN f62747c29c [Fix] `set -u`: is variable set test 2016-05-22 15:59:04 +09:00
Jordan Harband ccde2898f8
[help] Add `nvm ls-remote <version>`.
Fixes #1094.
2016-05-13 10:14:12 -05:00
Jordan Harband 6e18d959c7
[shellcheck] clean up unquoted args etc 2016-05-11 15:37:21 -07:00
Jordan Harband 6dd6a0d213
[Fix] `dash` does not support string substitution :-( 2016-05-10 01:17:31 -07:00
Jordan Harband 36c65d7115
[shellcheck] add spellcheck override comments 2016-05-10 01:11:17 -07:00
Jordan Harband ec2f450b6e
v0.31.1 2016-05-09 22:06:43 -07:00
Jordan Harband eeaddf9ab0
Don’t restrict colors to TTYs.
This restriction prevents subcommands from producing colors and passing them up the tree to the actual TTY.
2016-05-08 21:24:24 -07:00
Jordan Harband 0880539972
`nvm_strip_path`: Error out when `$NVM_DIR` is not set.
Per https://github.com/creationix/nvm/issues/1083#issuecomment-217752185
2016-05-08 20:06:17 -07:00
Jordan Harband 6311a0e9c4
`nvm ls`/`nvm alias`/`nvm ls-remote`: only colorize when colors are supported. 2016-05-07 18:51:21 -07:00
Jordan Harband bc3d028152
`nvm alias`: colorize output when creating aliases. 2016-05-07 18:14:11 -07:00
Jordan Harband fc82742a8b
[Robustness] add a missing `command` to a `sed` call 2016-05-06 12:29:01 -07:00
Jordan Harband a94ade8ec2
[Fix] don’t use bash `==` in conditionals 2016-05-06 01:00:56 -07:00
Jordan Harband eb329ae7a9
[minor] display `chmod` command as well to fix file permissions. 2016-05-05 23:58:27 -07:00
Jordan Harband 1ca2aa648f
[minor] Echo nonwritable file path to stderr. 2016-05-05 23:53:13 -07:00
Jordan Harband f49eb61f8e
[Improvement] Use `nvm_sanitize_path` in `nvm_check_file_permissions`. 2016-05-05 23:52:51 -07:00
Jordan Harband d1962c6742
[Refactor] clean up `nvm_sanitize_path` 2016-05-05 23:52:26 -07:00
Jordan Harband 06c1cfcd85
[Refactor] avoid some pipes to `awk` 2016-05-05 01:30:38 -07:00
Jordan Harband 8a138d98ed
[Refactor] Use `awk` to improve version comparison performance 2016-05-05 01:27:17 -07:00
Jordan Harband 4842641e78
[Refactor] create `nvm_echo` and `nvm_err` 2016-05-05 00:17:35 -07:00
Jordan Harband 62cca4e6d8
Prefer `nvm --help` over `nvm help` 2016-05-05 00:14:12 -07:00
Jordan Harband ab49a5b0c3
[refactor] `nvm run`: call through to `nvm exec` to remove redundant code 2016-05-04 00:58:12 -07:00
Jordan Harband a69f9a8898
[fix] `nvm run`: pass through `--silent` on bare `nvm run` 2016-05-04 00:58:08 -07:00
Jordan Harband e8355e3189
[refactor] `nvm run`: refactor argument parsing. 2016-05-04 00:35:43 -07:00
Jordan Harband 0d62626ac6
[refactor] `nvm exec`: refactor argument parsing. 2016-05-04 00:34:07 -07:00
Jordan Harband 6fb94e0dab
[fix] `nvm exec`: show “io.js” for io.js versions. 2016-05-04 00:33:56 -07:00
Jordan Harband 0dd2846215
[fix] `set -e`: ensure `nvm_version` returning 3, and `nvm_alias` returning 2, doesn’t terminate the process. 2016-05-04 01:03:14 -07:00
Jordan Harband 1c3f8da6c3
`nvm alias`: factor out alias creation to `nvm_make_alias` 2016-04-27 14:23:34 -07:00
Jordan Harband d705ec7ebf
[refactor] run through shellcheck 2016-04-30 00:33:28 -07:00
Jordan Harband 09f86b0e6e
[Refactor] Create and use `nvm_is_version_installed` 2016-04-27 17:11:16 -07:00
Jordan Harband fc68e615b2
`nvm alias`: colorize output to match `nvm ls` 2016-04-27 22:35:14 -07:00
Jordan Harband 677c69dda0
`nvm alias`: explicitly forbid user aliases in subdirs. 2016-04-26 23:07:10 -07:00
Jordan Harband 1eb4d482e0
`nvm alias`: If the alias target is empty, call into `nvm unalias` 2016-04-26 22:58:31 -07:00
Jordan Harband 4df2a7fca9
`nvm alias`: factor out alias printing logic to functions 2016-04-26 22:29:55 -07:00
Jordan Harband 7b1a4e5126
`nvm alias`: slightly speed up alias resolution. 2016-04-26 22:21:57 -07:00