Commit Graph

656 Commits (36c65d7115c4cbdac9ae8e72b7062d72271a4970)

Author SHA1 Message Date
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 `local`s 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
Jordan Harband 838d72688f v0.27.0 2015-09-26 10:13:10 -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 eb81fba8f7 Add support for `--silent` to `nvm run` and `nvm exec`.
Fixes #842.
2015-09-23 05:16:45 -07:00
Jordan Harband 7496a24bd6 Print the `npm` version when using `nvm exec` or `nvm run`. 2015-09-23 05:02:41 -07:00
Jordan Harband c64a0343af [Docs] Add `nvm help` documentation for `nvm exec` 2015-09-23 04:51:55 -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 9e389eb9fe Attempt to fix #829. 2015-09-19 13:37:08 +09: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 014a44e154 Minor refactoring to "install from source" logic tree. 2015-09-10 22:37:50 +09:00
Jordan Harband c9215a127f When no `io.js` versions are installed, show `N/A`, not `io.js-`, as the resolved default alias.
Fixes #822.
2015-09-09 22:37:32 +09:00
Jordan Harband c92effc6da Don't double-print *default* alias resolutions either. 2015-09-09 22:38:54 +09:00
Jordan Harband 1e2a7a8de4 Sort `nvm ls-remote` output so the order is: "pre-merged", "iojs", "post-merged". 2015-09-09 22:23:22 +09:00
Jordan Harband d4caf9fb67 Fix some logic errors in the new "merged node" code path. 2015-09-09 09:46:39 +09:00
Jordan Harband 0ef20199dc Use `NVM_VERSION` instead of `VERSION` to be a bit less intrusive.
Fixes #820.
2015-09-07 21:43:21 +09:00
Jordan Harband 0d898b0aa4 When `node` version is not io.js and is v1.0 or later, on `nvm install`, run `nvm_install_merged_node_binary` 2015-08-28 00:51:19 -07:00
Jordan Harband 0181821b51 Add `nvm_install_merged_node_binary` 2015-08-28 00:51:19 -07:00
Jordan Harband f34fef96d8 Add `nvm_is_merged_node_version` 2015-08-28 00:51:18 -07:00
Jordan Harband 26ee4aafc0 v0.26.1 2015-08-22 20:54:31 -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
Jordan Harband b7e2d7d24d Oops, the string passed to `awk` isn't the same as a shell command.
Fixes #808.
2015-08-16 18:08:50 -07:00
Jordan Harband 58ffa407c2 Prefixing more commands with `command` to bypass aliases.
Related to #805 and #804.
2015-08-15 23:56:32 -07:00
Jordan Harband 49abc9ce02 v0.26.0 2015-08-13 17:10:08 -07:00
Jordan Harband 17c68075e8 Use single quotes instead of double quotes for help output. 2015-08-05 23:53:29 -07:00
Jordan Harband 3fcff872af Add explanatory note for `<version>`
Per https://github.com/creationix/nvm/pull/797#discussion_r36379740
2015-08-05 23:53:17 -07:00
Sequoia McDowell fe1ed37520 Add usage string for --reinstall-packages-from 2015-08-05 22:26:17 -04:00
Jordan Harband 071323847c Add `nvm version-remote`; document `nvm version` 2015-08-04 14:03:57 -07:00
Jordan Harband d7035c5e61 Redirect stderr output from `npm ls -g` to /dev/null.
Fixes #756.
2015-08-03 16:41:47 -07:00
Jordan Harband 759f86f946 Tweaking local variable name to avoid pollution under `ksh`. 2015-07-18 09:31:07 -07:00
Alan Quach 98e40a8da5 Expanding to full if statements because the shorthand results in non-zero exit codes 2015-07-09 18:40:52 +10:00
Alan Quach 2da44f90d2 Silencing error outputs as well (for consistency and following after things like curl) 2015-07-09 18:00:13 +10:00
Alan Quach 88a50780fc Removing global NVM_SILENT and adding/using '--silent' option to nvm use instead 2015-07-09 17:44:09 +10:00
Alan Quach 9419794b19 Guarding npm version printing with NVM_SILENT flag check; when sourcing nvm.sh, a considerable amount of time is spent running npm --version only for that output to be black-holed to /dev/null 2015-07-09 09:56:26 +10:00
Jordan Harband f2d31b0458 Some refactoring to clear up the path to `io.js` release candidate support.
(unblocks #779)
2015-07-04 17:05:24 -07:00
Jordan Harband 0b41352210 Factor out global installs/links into `nvm_npm_global_modules` function. 2015-07-02 23:47:29 -07:00
Jordan Harband be5e8de0c8 Fix `nvm reinstall-packages` for linked packages, broken in 7bce6c6c68 2015-07-02 23:12:06 -07:00
Jordan Harband 3ef937a64e Make `nvm_ensure_version_installed` slightly more efficient. 2015-06-28 18:15:15 -07:00
Jordan Harband a21b2e6962 Refactor this `nvm use` `case` statement out into an `nvm_match_version` function. 2015-06-28 18:08:38 -07:00
Jordan Harband cc090f4476 Speed up `nvm_print_npm_version`. 2015-06-28 16:23:12 -07:00
Jordan Harband c31b072145 Fix `nvm debug` output in `zsh`. 2015-06-28 17:19:15 -07:00
Jordan Harband 7bce6c6c68 `nvm reinstall-packages` should install the same version it had before. 2015-06-29 00:04:59 -07:00
William Boman bc3840b6f3 nvm.sh: s/copying/reinstalling/ 2015-07-02 21:21:51 +02:00
lukechilds 67f2ee82ca POSIX compatibility 2015-06-13 10:18:58 +01:00
lukechilds 1f13f15620 Add --without-snapshot configure flag to ARM devices 2015-06-12 23:36:02 +01:00
Jordan Harband 3cfa1ed4e1 Remove `$NVM_IOJS_ORG_VERSION_LISTING` env var. 2015-06-06 22:39:03 -07:00
Jordan Harband d78722b284 v0.25.4 2015-05-29 11:11:40 -07:00
Jordan Harband a539cba11e v0.25.3 2015-05-22 15:18:46 -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 96c96ec714 v0.25.2 2015-05-19 14:05:43 -07:00
Jordan Harband 5e805905ca Add undocumented `nvm debug` to print out helpful debugging info. 2015-05-14 14:56:26 -07:00
Jordan Harband 2dec01da9c nvm reinstall-packages: On systems where `npm ls -g --depth=0` does not include `npm` for some reason, make sure to filter out `(empty)`. 2015-05-08 14:24:51 -07:00
Jordan Harband 63672641a5 Add wrapping curly braces to ensure that the entire scripts are downloaded.
If the closing curly brace isn't present, the script will error out.
2015-05-11 01:46:18 -07:00
Jordan Harband 94bba31de3 Make sure that `nvm reinstall-packages system` has the right std output. 2015-05-08 14:15:42 -07:00
Jordan Harband ec33e8b720 v0.25.1 2015-05-03 15:31:54 -07:00
Jordan Harband a4f89c6223 Make sure to ignore `~/.curlrc` if it exists. 2015-05-01 02:00:49 -07:00