Jordan Harband
cbdd41eee2
[New] `nvm install`: add `--latest-npm` option to automatically try to upgrade to the latest working version of `npm`.
...
- also add `nvm install-latest-npm` top-level command
2017-06-11 14:15:04 -07:00
J Huang
7965796569
[Fix] enable curl compression only on curl >=7.21.0
...
curl < 7.21.0 will output redirection reponse body to the output when compressed, which will cause tarball is prepended with redirection reponse body and leads to checksum mismatch.
- add `nvm_curl_use_compression` and `nvm_curl_version`
2017-06-10 15:25:26 +08:00
Weston Ganger
7f3145bc98
[New] add support for `$NVM_DIR/default-packages` file
2017-03-28 09:37:14 -07:00
Jordan Harband
dc5dfe3bc1
[Fix] set IFS to default for all nvm commands.
...
Fixes #1227 . Fixes #1244 . Fixes #1514 . Fixes #1518 .
2017-04-28 00:41:55 -07:00
Peter Dave Hello
a66a9caa1c
[Tests] Use node v0.10.7 for thread para test as other install from src tests
2017-04-09 13:08:04 +08:00
Peter Dave Hello
c6866eeb37
[Test] "nvm alias" lts test bug fix
2017-04-02 14:34:04 +08:00
Jordan Harband
4249b1c2bb
[Fix] `nvm_ensure_version_installed`: add `system` support.
...
Relates to #1238
2017-03-31 00:52:56 -07:00
Jordan Harband
b9f9977cdd
[Fix] `nvm install -s`: npm detection
...
- add `nvm_use_if_needed`
- add `nvm_install_npm_if_needed`
2017-03-27 15:00:50 -07:00
Peter Dave Hello
7b253c8c0a
[New] Supercharge `nvm debug` output
...
Try to get shell version, OS and its version, curl/wget/git version.
2017-03-23 14:48:00 +08:00
Peter Dave Hello
973dfc6d4a
[New] Dynamically detect if curl supports `--compressed`
2017-03-23 16:51:20 +08:00
Peter Dave Hello
6a3b1dd2c3
[New] Enable curl auto compression/decompression
...
Enable `--compressed` parameter on curl to automatically enable
compression on request content by sending coressponding header, if the
server side supports compression format like deflate or gzip, curl will
also decompress the content automatically, so there is no additional
works need to done manually on client side, but just enjoy the benifits
of bandwidth and time saving!
Take https://nodejs.org/dist/index.tab as an example which is last
modified on Tue, 14 Mar 2017 22:41:05 GMT, the compressed transmission
only take 4829 bytes howevet the not compressed on taks 48000 bytes,
which is about 10 times larger!
This feature can be traced back to Sep 3 2002, in curl commit:
- 64bbe9dfaf
So should be supported on various versions widely.
2017-03-23 16:51:20 +08:00
Peter Dave Hello
fa3631fee3
[Refactor] Add `nvm_has_non_aliased`
2017-03-20 16:57:26 +08:00
Matthew McEachen
1e6b5ce039
[Fix] stop setting mirror env vars unnecessarily
...
Fixes #1429
2017-03-16 23:54:55 -07:00
Peter Dave Hello
9593616b8c
[Fix] NVM_PROFILE bash/zsh detection in installation
2017-03-15 14:34:28 +08:00
Peter Dave Hello
182a18d911
[Fix] Github should be GitHub
2017-03-09 23:02:08 +08:00
Peter Dave Hello
8e6201b5b1
[Tests] Update test mocks
2017-03-10 18:02:47 +08:00
Jordan Harband
6fc0241c21
[Fix] `install.sh`: only un-interpolate $HOME for the profile source string.
...
Fixes #1384 .
2017-02-12 00:32:49 -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
Ryan Wheale
1b2305232f
[install script] Use `$HOME` variable in `NVM_DIR`
2017-01-12 10:55:56 -07:00
Jordan Harband
0f6997d90a
[Tests] remove the unused and broken `$NVM_PATH`.
2016-12-16 11:23:23 -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
65acb403ce
Add `nvm_clang_version` to ensure clang version > 3.5
2016-11-14 12:28:41 +08:00
Peter Dave Hello
9c92b5a4ea
[New] `nvm install`: Print the version that is being installed
2016-11-06 20:43:47 +08:00
Peter Dave Hello
f7763c8ba9
[Tests] die() in tests should quote "$@" for echo
2016-11-07 03:34:36 +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
Qiangjun Ran
cadbbced20
[Tests] Replace all dots with backslash dots
2016-11-03 23:44:59 -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
Jordan Harband
f9e14b7d4d
[Fix] `nvm uninstall`: work around `nomatch` `zsh` option.
...
Fixes #1228 .
2016-10-04 01:43:24 -07:00
Jordan Harband
a29d0e49dc
[Tests] improve + update test mocks
2016-09-28 22:42:48 -07:00
Peter Dave Hello
702d52f23b
update test mocks
2016-09-29 10:27:24 +08: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
f60edbb6b4
[Tests] update test mocks
2016-09-18 11:58:18 -07:00
Jordan Harband
ecba036cbf
[Tests] show `type` output for debugging
2015-12-21 23:59:44 -08:00
Jordan Harband
d5f1d4530f
[Tests] `chmod a-x` on io.js source tests, for now.
...
TODO: fix.
2016-08-21 22:52:54 -07:00
Jordan Harband
adb6a187a9
[Tests] try v3.3 instead of v1 in hopes they will compile faster.
2016-09-02 23:43:47 -07:00
Jordan Harband
32a1b4124c
Use `watch` to keepalive stdout while installing.
2016-09-02 23:43:47 -07:00
Jordan Harband
88ce2103f5
Use `watch` to keepalive stdout while installing.
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
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
eba50de75e
Add `nvm_compare_checksum`, `nvm_compute_checksum`, and `nvm_get_checksum`
2016-09-02 23:43:45 -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
54cc3a383e
[Tests] set -ex options on more tests
2016-08-14 09:48: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
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
Jordan Harband
876d117376
[Tests] add `nvm run --lts` tests.
2016-07-18 00:35:01 -07:00
Jordan Harband
58a82a1d31
[Tests] add `nvm exec --lts` tests.
2016-07-17 19:54:10 -07:00
Jordan Harband
42fedf6bc9
[Tests] add some basic `nvm use --lts` tests
2016-07-03 08:37:03 -07:00
Jordan Harband
4c010f442e
[Tests] add tests for auto-creation of LTS aliases on `nvm_ls_remote`
2016-07-02 21:21:16 -07:00
Jordan Harband
f0668fd577
[Tests] `nvm alias --lts`: add tests
2016-06-26 15:11:37 -07:00
Jordan Harband
655830eb58
[Tests] `nvm install --lts`: add tests
2016-06-26 13:57:01 -07:00
Jordan Harband
e6606458f7
[Tests] add `nvm version-remote` unit tests.
2016-06-26 13:01:12 -07:00
Jordan Harband
d2744014df
[Tests] add some basic `nvm ls-remote` unit tests.
2016-06-25 17:00:19 -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
ae07c3c345
Add support for `nvm ls-remote --lts`
2016-04-23 23:47:25 -07:00
Jordan Harband
865d2fe3d6
Include LTS version in `nvm_ls_remote` output.
2016-04-17 23:39:27 -07:00
Jordan Harband
b2c5616d7a
[Tests] avoid accidental command execution in test failure message.
2016-07-17 19:54:26 -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
186eb8838d
[Tests] make “nvm use iojs” test actually test that thing.
2016-07-07 15:38:34 -07:00
Jordan Harband
940f850f8d
[Tests] clean up some tests
2016-07-07 01:14:37 -07:00
Jordan Harband
78a008c3c7
[Fix] use Solaris-compatible tail options.
...
Fixes #1148 .
2016-07-06 15:31:25 -07:00
Quildreen Motta
730b253174
Updates tests for the new output messages
2016-07-05 21:40:45 -03:00
Peter Dave Hello
9e09c30621
update nodejs version list
2016-07-01 23:39:54 +08:00
Xavier Cambar
6cee20a071
testing NVM_DIR
2016-06-28 12:36:08 +02:00
Jordan Harband
73aa35f508
[Tests] use `$NVM_DIR` instead of relative paths
2016-06-26 15:52:26 -07:00
Jordan Harband
ce60b6c44a
[Tests] update test mocks
2016-06-25 17:03:46 -07:00
Jordan Harband
c9b7ccdaea
Run `node` and `io.js` installation test suites separately.
2016-05-08 22:21:33 -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
8a138d98ed
[Refactor] Use `awk` to improve version comparison performance
2016-05-05 01:27:17 -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
1c3f8da6c3
`nvm alias`: factor out alias creation to `nvm_make_alias`
2016-04-27 14:23:34 -07:00
Jordan Harband
2d50606a78
[Tests] flesh out `nvm_print_default_alias` tests
2016-04-30 00:38:49 -07:00
Jordan Harband
09f86b0e6e
[Refactor] Create and use `nvm_is_version_installed`
2016-04-27 17:11:16 -07:00
Jordan Harband
379d079c30
[Tests] Ensure color codes are stripped in alias tests.
2016-04-27 17:05:33 -07:00
Jordan Harband
91c77c6ba8
[Tests] fix shebangs
2016-04-27 17:34:53 -07:00
Jordan Harband
ec54c925c1
[Tests] use mocks for `nvm_ls_remote`/`nvm_ls_remote_iojs` tests.
2016-04-27 01:25:56 -07:00
Jordan Harband
677c69dda0
`nvm alias`: explicitly forbid user aliases in subdirs.
2016-04-26 23:07:10 -07:00
Jordan Harband
4df2a7fca9
`nvm alias`: factor out alias printing logic to functions
2016-04-26 22:29:55 -07:00
Jordan Harband
96afff7af2
[Tests] Set up “mocks” directory, and updater script.
2016-04-19 22:49:49 -07:00
Jordan Harband
ac18d01854
[Tests] update index.tab data mocks.
2016-04-18 20:43:08 -07:00
Luke Childs
5970a06b19
Add slow test to check nvm uninstall with file permission error
2016-04-18 22:08:40 +01:00
Luke Childs
dff4f80f32
Add fast test to check nvm uninstall with file permission error
2016-04-18 21:17:44 +01:00
Luke Childs
6fb528f4e4
Add slow test to check nvm uninstall
2016-04-18 21:17:44 +01:00
Robson Peixoto
8fb4ee0789
Unset unnecessary environment variables
2016-03-11 14:53:36 -03:00
Jonas Dohse
7135873f80
Do not modify parameters of sourcing script in zsh
...
When sourcing a script without parameters in zsh the sourced scripts
gets the same parameters as the sourcing file and is able to modify
these parameters. Prevent nvm from removing all parameters of sourcing
script by processing a copy of the parameters in a function.
2016-02-15 17:49:46 +01:00
Thomas Levine
06b81f0f36
use env bash rather than /bin/bash
...
My bash is not installed in /bin/bash.
2016-02-14 19:34:19 +00:00
Jordan Harband
44541b416f
[New] After installing, ensure that the default is set.
2016-02-04 00:26:33 -08:00
Jordan Harband
731c2f3f70
Add `nvm_get_minor_version`
2016-02-04 11:16:09 -08:00
Jordan Harband
de64a2d95f
[Fix] `nvm_format_version` should only return 3 version groups
2016-02-06 22:34:49 -08:00
Jordan Harband
4fcf37fa29
[New] support `--no-use` on sourcing, in supported shells.
...
Fixes #972 .
2016-01-20 12:50:45 -08:00
Matthew Campbell
4f4ff208eb
Improve error messages
2016-01-02 11:16:50 -05:00
Matthew Campbell
78fee866f5
Remove usage of declare
2016-01-01 22:33:45 -05:00
Matthew Campbell
8dc53d4dd5
Refactor and fix nvm_detect_profile tests
...
close #833
close #957
2016-01-01 20:45:36 -05:00
Matthew Campbell
645bda4987
Addresses comments to close #833
2016-01-01 14:09:35 -05:00
David Mankin
918fcb4bd2
PROFILE env var should override detected profile
...
Add tests for PROFILE overriding detected files
2016-01-01 14:00:36 -05:00
David Mankin
cb138a1815
Fix error messages in tests
2016-01-01 13:34:34 -05:00
Jordan Harband
f279837d5c
[Refactor] fix some bugs in `nvm_is_natural_num`, add unit tests.
2015-12-27 13:15:53 -08:00
Jordan Harband
32d184099c
[Tests] fix cleanup in nvm_supports_xz unit test
2015-12-27 13:18:28 -08:00
Jordan Harband
31457fec3f
[Refactor] `nvm install`: make `-j` and `-s` order-independent.
2015-12-27 12:52:01 -08:00
Peter Dave Hello
cfccf03b3d
add test for install from source
2015-12-28 01:37:57 +08:00
Keiichiro Ui
b76d43e9f8
Fix `nvm-exec` for the commands includes white-spaces
2015-12-24 19:48:35 +09:00
Peter Dave Hello
ec9232bb06
update nodejs.org-dist-index.tab and related test
...
Src: https://iojs.org/dist/index.tab
2015-12-21 20:50:54 +08:00
Jordan Harband
149e5d483d
Use real snapshot of iojs.org data for `nvm_ls_remote_iojs` tests.
2015-10-17 12:05:44 -07:00
Jordan Harband
114f27a075
Use `nvm_ls_remote_index_tab` for listing nodejs.org versions.
...
Enabled by https://github.com/nodejs/build/issues/218 , unblocks #870 .
2015-10-17 10:34:42 -07:00
Johan Bergström
b8e4917646
Use `xz` tarballs if available
...
Saves us ~25% bandwidth while downloading the payload. This only applies
to hosts that has the `xz` binary and attempts to use iojs 2.3.2 or newer
(this includes nodejs 4.0+ as well). Older targets are unaffected.
2015-10-08 16:45:26 +11:00
Jordan Harband
cb033adc6f
nvm run: use common code path for "ensure version installed"
2015-10-07 18:08:48 -07:00
Julien Gilli
2d692d9d78
Fix support for installing node on SmartOS
...
uname on SmartOS cannot be used to guess if 32 and/or 64 bits binaries
are supported, and its output is different than other uname commands on
other operating systems.
This change uses pkg_info to determine what types of binaries pkgsrc
would install. If pkg_info fails to run or is not present, this change
falls back to using isainfo -n, which determines what the kernel
supports.
It allows users to install node binaries on Solaris derivatives. io.js
can also be installed on Solaris derivatives starting with version
v3.3.1.
2015-09-30 22:10:29 -07:00
Jordan Harband
8ee6f30352
Add support for `$NPM_CONFIG_PREFIX` to `nvm_die_on_prefix`.
...
Fixes #606 .
2015-09-23 06:25:55 -07:00
Jordan Harband
1458de7293
Ensure that if `npm config get prefix` is set to something outside `nvm`, that `nvm use` refuses to work.
...
Fixes #606 .
2015-09-21 04:47:37 -07:00
Jordan Harband
a1def71062
Add `nvm_die_on_prefix`
2015-09-21 04:47:30 -07:00
Jordan Harband
643365a948
Allow `--silent` option to `nvm use` to be in any position.
2015-09-23 04:51:55 -07:00
Jordan Harband
e3528b0d9e
Fix `nvm_ensure_version_installed iojs` to not print an empty string for the version.
2015-09-11 10:42:47 +09:00
Jordan Harband
f34fef96d8
Add `nvm_is_merged_node_version`
2015-08-28 00:51:18 -07:00
Jordan Harband
8746d63041
Ensure after node v4.0 is released, `stable` will simply refer to the latest node.
2015-08-22 09:45:49 -07:00
Cristian Consonni
c37dbbecb4
Detect shell type from $SHELL variable instead of .$SHELLrc files
2015-07-19 02:03:15 +02:00
Alan Quach
657192dd27
Adding unit tests for --silent
2015-07-10 10:27:35 +10:00
Jordan Harband
7bce6c6c68
`nvm reinstall-packages` should install the same version it had before.
2015-06-29 00:04:59 -07:00
lukechilds
c1ef31df53
Remove unnecessary nvm use
2015-06-13 19:38:28 +01:00
lukechilds
3b67b3b9bb
Use node instead of nvm run and check v8_use_snapshot in node rather than shell
2015-06-13 18:52:54 +01:00
lukechilds
83466446ce
Added newline to end of ARM test
2015-06-13 16:10:49 +01:00
lukechilds
3214caa4ec
Adding installation test for disabling V8 snapshot on ARM
2015-06-13 15:58:27 +01:00
Jordan Harband
fe044c5e3b
`spawn-sync` now dedupes to the top level with this group of packages.
2015-06-07 01:10:55 -07:00
Jordan Harband
472ba5fc46
Make sure sourcing `nvm.sh` on shells that don't support source options doesn't exit nonzero.
...
Fixes #721
2015-05-22 00:15:43 -07:00
Jordan Harband
a4f89c6223
Make sure to ignore `~/.curlrc` if it exists.
2015-05-01 02:00:49 -07:00
Jordan Harband
bb2fe618cb
The install script only runs in bash.
2015-04-27 16:55:21 -07:00
Jordan Harband
cbf0f12aac
Create `nvm_print_npm_version` and use that when printing the `npm` version.
2015-04-12 10:59:17 -07:00
Andrew Crites
caa69bc500
npm version: shell compatibility, test update
...
* Update test string that checks printed node version to pass with additional npm version display
* Remove echo -n for compatibility with shells that do not support it
2015-04-09 02:12:35 -04:00
Jordan Harband
c34502ebc2
`nvm_num_version_groups` should report 0 when given just a v or a .
2015-04-06 11:10:43 -07:00
Jordan Harband
3d764e6833
Add `nvm_ensure_default_set`
2015-04-05 16:49:29 -07:00
Jordan Harband
82393f5b36
Making sure this test passes whether a system node is installed or not.
2015-04-04 23:49:43 -07:00
HE Shi-Jun
3d69cf7437
update testcase
2015-03-17 15:54:50 +08:00
HE Shi-Jun
14b23bfa95
fix reinstall-packages test
2015-03-15 06:21:35 +08:00
Jordan Harband
2b63f37f8d
Make `nvm_resolve_local_alias` not return `N/A` - that should be done as shallowly as possible.
2015-03-14 10:55:31 -07:00
Jordan Harband
0d9329435c
Create `nvm_ensure_version_installed`
2015-02-22 02:26:27 -08:00
Jordan Harband
a0d04d0b6b
Preventing an unalias error in tests.
2015-02-22 02:21:00 -08:00
Jordan Harband
7d22e0c458
Separate `nvm_resolve_alias`'s `nvm_version` behavior into `nvm_resolve_local_alias`.
2015-02-21 16:10:42 -08:00
Jordan Harband
12ca8f2607
Add `nvm_is_alias` unit tests.
...
Fixes 670.
2015-02-20 13:59:08 -08:00
Jordan Harband
3190effedd
Add support for `node` and `iojs` implicit aliases.
2015-02-10 23:43:47 -08:00
Jordan Harband
f0d81e2d33
Revert "install: adding some debugging output"
...
This reverts commit c8efe3d28a
.
Conflicts:
install.sh
2015-02-09 17:16:56 -08:00
elliottcable
a216f56443
tests: fail install_script test if npm can't install package
2015-02-07 20:53:53 -06:00
elliottcable
c8efe3d28a
install: adding some debugging output
2015-02-07 20:50:10 -06:00
elliottcable
0717d5f995
install: some tweaks and clean-up
2015-02-07 17:17:43 -06:00
elliottcable
6cfc309336
install: Pass global-module check in the absence of npm
2015-02-07 17:17:43 -06:00
elliottcable
4ba7ee5797
install: Show a warning when global packages exist
2015-02-07 17:17:43 -06:00
Jordan Harband
be56ff3b2e
Make sure multiple `nvm run` arguments get passed through to node/iojs properly.
...
Fixes #641 .
2015-02-07 10:09:37 -08:00
Jordan Harband
2116d2ff91
Filter out the io.js version dir from nvm_ls output.
...
Fixes #642 .
2015-02-02 17:41:04 -08:00
Jordan Harband
0b4c1e14cf
Ensure that `nvm run 0.12 --version` errors out sensibly when 0.12 isn't installed.
2015-02-01 13:02:46 -08:00