Commit Graph

1012 Commits

Author SHA1 Message Date
Jiri Spac
d073bc96c7
[Docs] bump sample version numbers 2017-06-01 16:46:53 +02:00
Peter Dave Hello
11370fe823 [Fix] curl should fail if something wrong, fix #1556 2017-06-14 10:58:38 +08:00
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
28fe93cd15
[Fix] nvm install -s: properly precompute clang version 2017-06-13 13:06:53 +08: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
Nicolás Bevacqua
051ef09daf Fix --version help text 2017-06-01 10:06:43 -03:00
Jordan Harband
4f626eac0d [Fix] set -u: when ALIAS is unset, don’t reference an unbound variable.
Fixes #1526.
2017-05-16 22:58:26 -07: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
Jordan Harband
accd6ae298
[Fix] ensure if npm link fails, that $IFS is not improperly set.
https://github.com/creationix/nvm/issues/1519#issuecomment-297850323
2017-04-28 00:39:48 -07:00
Jumpei Ogawa
caa7de37af
[Fix] set -u: ensure that potentially unbound variables aren’t called unchecked.
This commit is follow up for 853afbf.
Fixes remaining bug in #1363
2017-04-27 20:17:21 +09:00
Jordan Harband
0a95e77000
v0.33.2 2017-04-26 00:50:33 -07:00
Piper Chester
65aedc105a
[Docs] capitalize C++ 2017-04-08 09:16:54 -07:00
Peter Dave Hello
153f8e7b31 [Fix] To confirm curl exists before detecting curl libz feature 2017-04-09 13:44:07 +08:00
Peter Dave Hello
e87f395b7a
[Refactor] minor "if" and "return" improvement 2017-04-06 03:55:42 +08:00
Peter Dave Hello
daa9c3604d
[Fix] To confirm curl exists before detecting curl libz feature 2017-04-06 05:20:55 +08:00
Jordan Harband
4249b1c2bb
[Fix] nvm_ensure_version_installed: add system support.
Relates to #1238
2017-03-31 00:52:56 -07:00
Peter Dave Hello
450088e51a
[Refactor] Improve if conditoion logic in "use" 2017-03-30 00:41:31 +08:00
Peter Dave Hello
059ab0e1ac
[Refactor] Make the code a little bit cleaner 2017-03-28 15:27:49 +08: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
Peter Dave Hello
316c9f34c6
[Performance] Use awk's comparison to save a pipe to grep 2017-03-20 04:50:32 +08:00
Peter Dave Hello
6cb12b0f99
[Performance] Improve awk usage 2017-03-21 04:23:53 +08:00
Peter Dave Hello
6ed73b0696 [Refactor] Improve sed usage for performance 2017-03-20 17:53:44 -07:00
Shirsh Zibbu
dcd008ff61
[Refactor] remove unnecessary quotes 2017-03-07 05:46:45 +05:30
Peter Dave Hello
b879628394 [Fix] declare MANPATH if and only if it's not set
By manpath's man page in Ubuntu 16.04:

> If $MANPATH is set, manpath will simply display its contents and issue
> a warning.

By fa22d712ff for #1413, `nvm` now will
declare the "MANPATH" variable, no matter if it's set or not, so in the
situation that $MANPATH is set, you'll get the warning:

> manpath: warning: $MANPATH set, ignoring /etc/manpath.config
2017-03-19 02:19:14 +08:00
Jordan Harband
9b2629384f
[Fix] nvm install -s: ensure additional params lack a trailing space.
Note: I believe this does not fix the underlying issue in zsh, which is
that it does not split up `$ADDITIONAL_PARAMETERS` and instead passes
the contents as one single argument.
2017-03-17 23:20:17 -07:00
Peter Dave Hello
50ae1e5199
[Fix] Install failed should return correct exit status, fix #1347 2016-12-10 00:20:04 +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
d8538dad84 [Refactor] nvm.sh minor refactor 2017-03-14 17:45:54 +08:00
Peter Dave Hello
182a18d911
[Fix] Github should be GitHub 2017-03-09 23:02:08 +08:00
Dominyk Tiller
b676bf7d0e
[Fix] checksums: remove libressl command support
This was an "oops" on my part when I was testing changes for my work
that was later adapted & merged in f1bca106a8.
LibreSSL is never installed as a `libressl` as it is intended to be a
replacement for `openssl` as much as possible, and consequently the
executable is called `openssl`.
2017-03-08 12:54:37 +00:00
Jordan Harband
fa22d712ff
[Fix] ensure this variable is not unbound.
Fixes #1413.
2017-03-06 09:35:58 -08:00
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
Jordan Harband
755c39209e
[Refactor] make check_file_permissions be pure instead of relying on a closure.
Also, make it return early, to be a bit more efficient.

(from #847)
2016-04-18 19:23:51 -07:00
Luke Childs
3a2d35f167 Check permissions in shell rather than using find -exec 2016-04-19 01:40:16 +01:00
Luke Childs
005e29a223 Check dir permissions before attempting to nvm uninstall 2016-04-18 21:16:37 +01:00
Jordan Harband
d3e334d86d [Fix] read exits 1 when .nvmrc lacks a trailing newline - avoid that.
Per https://github.com/creationix/nvm/issues/993#issuecomment-205399603
2016-04-04 22:08:36 -07:00
Jordan Harband
273ebedc55 [Fix] avoid an unbound variable when nounset bash option is set.
Per https://github.com/creationix/nvm/issues/868#issuecomment-198232952
2016-03-18 00:28:30 -07:00
Robson Peixoto
8fb4ee0789 Unset unnecessary environment variables 2016-03-11 14:53:36 -03:00
Jordan Harband
2176894a5b v0.31.0 2016-02-15 09:18:15 -08: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
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
Brandon Wood
f73bfb6578 Updated warning message when sha256sum utility not found
Relates to @ljharb's comment on the warning message not including all of the
utilties searched for.

https://github.com/creationix/nvm/pull/981#discussion_r50638351
2016-01-24 11:53:19 -06:00
Brandon Wood
f1bca106a8 Added (optional) support for sha256 checksum utils
This commit adds (optional) support for additional sha256 checksum utilities
for newer versions of node.js and io.js that use sha256 checksums rather than
sha1.

If nothing is found to do a sha256 checksum on the client machine, a warning is
printed and things continue on as normal.

Following comments from @ljharb on incorporating some of @DomT4's PR
creationix/nvm#664, and making this checksum optional.  If I could I would
gladly include this as an addon to the now closed PR creationix/nvm#664. I am
choosing not to file it onto that PR because it's closed and (currently)
significantly behind the master branch.

@DomT4 did the hard work of actually finding all the different ways in which
one could verify a sha256 checksum, I've just included those here in an effort
to move forward with sha256 checksum support.
2016-01-24 10:31:26 -06:00
Brandon Wood
560c8c9500 Added support for sha256 checksums 2016-01-23 21:25:03 -06:00
Jordan Harband
21c3727955 v0.30.2 2016-01-21 00:23:01 -08:00
Jordan Harband
4fcf37fa29 [New] support --no-use on sourcing, in supported shells.
Fixes #972.
2016-01-20 12:50:45 -08:00
Nick Hwang
e76fe61d95 Add missing space before closing bracket 2016-01-19 13:03:11 -05:00
Jordan Harband
00a8b36b78 [Fix] handle unbound shell variables.
Fixes #868.
2016-01-17 15:12:02 -08:00
Jordan Harband
6094dac1c1 [Fix] nvm debug was printing a red herring error message in non-zsh. 2015-12-30 09:45:13 -08:00
Jordan Harband
0aa3118de3 v0.30.1 2015-12-28 12:46:41 -08:00
Jordan Harband
2541baaf7d [Refactor] Create nvm_get_make_jobs to abstract out “-j” logic. 2015-12-28 12:20:14 -08:00
Jordan Harband
dc8b63cb25 [Fix] nvm install -s: fix syntax errors. 2015-12-28 12:19:50 -08:00
Jordan Harband
8ec056f768 v0.30.0 2015-12-27 23:19:14 -08: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
31457fec3f [Refactor] nvm install: make -j and -s order-independent. 2015-12-27 12:52:01 -08:00
Peter Dave Hello
e78dc5110e fix CPU_THREADS/CPU_THREAD_VALID/MAKE_JOBS prefix 2015-12-28 01:37:57 +08:00
Peter Dave Hello
6320719dd8 Support parameter -j to set jobs for make 2015-12-28 01:37:57 +08:00
Peter Dave Hello
a8e6fee001 Enable multiple jobs for when build from source 2015-12-28 01:37:57 +08:00
Kilian Ciuffolo
6638ac3318 [refactor] improved bootstrap time
Fixes #860, closes #927.
2015-12-06 23:52:40 -08:00
Jordan Harband
04c5e3540e nvm unalias: Provide a restore command when unaliasing.
Fixes #916.
2015-12-13 21:34:28 -08:00
Peter Dave Hello
2a174d03d8 Update nvm.sh
Add prompt when there is no binary for node version greater than v1.0.0

Currently, on FreeBSD, if we try `nvm install 4.2`, we will only get:
> Installing node v1.0 and greater from source is not currently supported

In fact I had no idea what's wrong because I didn't use `-s` parameter for it,
and then I found that there are two reasons:
1. There was no pre-built nodejs binary from official for FreeBSD, which means we need to build from source.
2. nvm doesn't support build for v1.0 and greater version from source yet.

So I think there should be a prompt message to tell the user about the reason why nvm will go to build from source,
no matter it will succeed or fail.
2015-12-05 15:00:00 +08:00
Jordan Harband
c742ab7e66 Fix npm version output for nvm run and nvm exec 2015-11-10 23:31:16 -08:00
Manuel Rüger
1adcabf5e8 Replace backticks with $() command substitution 2015-10-28 20:53:15 +01:00
Jordan Harband
a43ff7c9d9 Ensure that npm doesn't print out excess data, regardless of the user's log level.
Fixes #881.
2015-10-23 00:12:14 -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
Jordan Harband
690543d6ad Rename nvm_ls_remote_iojs_org → nvm_ls_remote_index_tab and make it generic. 2015-10-17 10:19:39 -07:00
Jordan Harband
0b9526e3b4 Don't check $1 unless $# is >= 1.
Fixes #873. Partially fixes #868.
2015-10-14 23:02:00 -07:00
Jordan Harband
016e7dfdab [nvm run / nvm exec]: Silence "find nvmrc" output when --silent is provided.
Per https://github.com/creationix/nvm/issues/846#issuecomment-147588453
2015-10-13 21:58:35 -07:00
Jordan Harband
2a0316f80d [shellcheck] Remove useless echo 2015-10-13 01:26:43 -07:00
Jordan Harband
e7e28f436e [shellcheck] double-quote vars in more places 2015-10-12 16:07:29 -07:00
Jordan Harband
84aad508f7 Check $# before trying to check $1. Avoids failure due to nounset bash option.
Partially fixes #868.
2015-10-12 16:57:45 -07:00
Jordan Harband
8f3ee23390 [shellcheck] Correct redirection order: we want both stdout and stderr sent to /dev/null here. 2015-10-12 16:48:12 -07:00
Jordan Harband
032fab7172 locals need to be declared and assigned separately, for ksh. 2015-10-12 16:30:59 -07:00
Jordan Harband
46833efd79 [shellcheck] Remove useless echo 2015-10-12 16:10:43 -07:00
Jordan Harband
9407f850f1 [shellcheck] read without -r will mangle backslashes.
http://pubs.opengroup.org/onlinepubs/009695399/utilities/read.html / https://github.com/koalaman/shellcheck/wiki/SC2162
2015-10-12 16:05:55 -07:00
Jordan Harband
bf284203cb [shellcheck] Declare and assign separately to avoid masking return values
https://github.com/koalaman/shellcheck/wiki/SC2155
2015-10-12 16:02:35 -07:00
Jordan Harband
c957989fa9 Add nvm --version and $HOME to nvm debug 2015-10-10 14:27:00 -07:00
Jordan Harband
e1c84bae37 v0.29.0 2015-10-09 01:52:19 -07:00
Jordan Harband
a928a8f181 nvm exec: don't fall back to .nvmrc when the provided version is not installed. 2015-10-08 17:37:53 -07:00
Jordan Harband
937c29c95a nvm run: use common code path for "ensure version installed"
Better than cb033adc6f
2015-10-08 16:48:17 -07:00
Jordan Harband
a0e94e16de Make sure nvm debug doesn't use an overridden sed 2015-10-08 00:19:53 -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
Jordan Harband
20f4acdd25 [installing] echo the URL that the tarball is being downloaded from. 2015-10-07 20:28:18 -07:00
Jordan Harband
41153e207d Ensure nvm use output shows up *after* prefix check passes. 2015-10-07 14:40:31 -07:00
Jordan Harband
6b3c34313c Fix nvm_ls when $NVM_DIR has spaces in it.
Mostly fixes #861.
2015-10-07 13:57:29 -07:00
Jordan Harband
8541e2e1ee Properly quote some possible variables with spaces. 2015-10-07 13:57:13 -07:00
Jordan Harband
06a21284ed Protect against cat clobbering. Fixes #858. 2015-10-04 14:28:38 -07:00
Jordan Harband
ebdcdc4363 v0.28.0 2015-10-02 01:50:44 -07:00
Jordan Harband
b805de80cb Add PREFIX and NPM_CONFIG_PREFIX env vars to nvm debug 2015-10-01 10:05:13 -07:00
Jordan Harband
44f416d58f Create and use nvm_sanitize_path for nvm debug 2015-10-01 09:41:34 -07:00
Jordan Harband
3d1ccfec70 Sort nvm ls results by semver version, so the order goes: "unmerged node", "iojs", "merged node". 2015-09-30 22:05:18 -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
8aebf86329 v0.27.1 2015-09-27 06:40:29 -07:00