Commit Graph
1141 Commits
Author SHA1 Message Date
f439acda4a [New] nvm use/nvm install: add --save option
Fixes #2849.

Co-authored-by: Martin <maartin00000@gmail.com>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
2022-08-29 16:01:36 +01:00
Ally Summers dd89af53f5 [patch] Fix issue where zsh global aliases would break nvm help
Fix issue with the color codes in the nvm help text where zsh global aliases would display an inline error in the nvm help text.
2024-07-26 03:35:55 +10:00
David WelchandAndre Kradolfer bd090ef7f8 [New] Add support for NVM_AUTH_HEADER env var
Closes #3366

Co-authored-by: David Welch <david@davidwelch.co>
Co-authored-by: Andre Kradolfer <narfdre@gmail.com>
2024-06-21 08:55:22 -06:00
Jordan Harband 93277112ae [Fix] install-latest-npm: npm ^8.7 breaks npm ls with file: deps 2024-07-26 09:16:03 -07:00
Jordan HarbandandYash Singh 29dce5edfd [New] allow .nvmrc files to support comments
In theory, `npx nvmrc` can now be used to validate an `.nvmrc` file that `nvm` will support. Allowances have been made for future extensibility, and aliases may no longer contain a `#`.

Fixes #3336. Closes #2288.

Co-authored-by: Jordan Harband <ljharb@gmail.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
2024-06-07 10:13:00 -07:00
Jordan Harband bab86d5de5 v0.39.7 2023-12-05 21:50:27 -08:00
Jordan Harband d86f270438 [Fix] use \hash instead of command hash for zsh
See #3239; Fixes #3247; Closes #3246
2023-12-05 21:48:51 -08:00
Jordan Harband c73009f503 v0.39.6 2023-12-04 22:03:25 -08:00
Jordan Harband b1fa143dd8 [Fix] nvm_get_mirror: ensure only a valid URL is allowed 2023-12-02 14:44:46 -08:00
Jordan Harband cc765cc000 [Fix] avoid overridden hash
Fixes #3239
2023-11-24 20:42:53 -08:00
Jordan Harband d02ddcac2c [Fix] nvm_get_mirror: disallow some non-URL characters
This should be improved in the future, but is fine for now
2023-11-01 21:01:28 -07:00
Andrius Solopovas ef7fc2f2c0 [Fix] nvm_get_arch: proper value for alpine linux 2023-09-30 23:54:11 +01:00
Jordan Harband 1f970ccb7a [Fix] nvm_normalize_lts: switch from expr to case
avoids `expr: warning: ^lts/-[1-9][0-9]*: using ^ as the first character of a basic regular expression is not portable; it is ignored`
2023-11-01 12:24:29 -07:00
Jordan Harband 6743aef70c [New] nvm_resolve_alias: only resolve one line of a multiline alias file 2023-10-23 14:41:14 -07:00
Jordan Harband 8241287349 [New] aliases: skip leading blank lines in alias file 2023-10-23 14:06:19 -07:00
Jordan Harband 6aeab3349c [Robustness] nvm_list_aliases: avoid overwritten sort 2023-10-23 14:05:37 -07:00
Jordan Harband 1eaaada499 [Perf] nvm_check_file_permissions: do not traverse into symlinks 2023-08-25 22:49:41 -07:00
Jordan Harband c92adb3c47 v0.39.5 2023-08-21 21:10:10 -07:00
Oliver Henshaw 15eba7b7e6 [Fix] nvm_strip_path: Preserve leading/trailing colons
Path lists in environmental variables often give special meaning to
empty entries (e.g. in PATH or MANPATH). These are represented by
leading or trailing colons, or by doubled colons in the middle of the
list.

Adjust the awk invocation to correctly deal with trailing colons by
printing the separator before every field except the first, and then
printing the final separator that is read from the input - this will
either be a colon or the null string. This preserves leading and
trailing colons in all cases while not adding extra colons in the wrong
place.

Add test to confirm the correct behaviour.

Fixes #3144
2023-06-21 15:47:52 +01:00
Jordan Harband 324b81a722 [Fix] allow checksums to pass with a leading backslash
See https://unix.stackexchange.com/a/555061/137489
2023-08-06 14:51:48 +12:00
Jordan Harband 3afdce0a2c [Fix] nvm install-latest-npm: ensure npm 10 does not install on unsupported nodes
See https://github.com/npm/cli/pull/6674
2023-07-26 13:21:03 -07:00
Jordan Harband 8fbf8ab694 v0.39.4 2023-07-24 18:29:54 -07:00
Deniz 5410ae57ba [Fix] fix node download link for armv8l
Fixes #3035
2023-04-29 16:41:31 -07:00
Jordan Harband c08b38a2a4 [Fix] nvm_print_npm_version: if npm exists but its node crashes, do not print the npm version 2023-04-28 10:57:57 -07:00
Jordan Harband a07cd41af1 [Fix] nvm_ls_current: when node is present but crashes immediately, echo "none" 2023-04-28 10:55:03 -07:00
Leo Zlotnikov 0d9b5c2a00 [Fix] fix directory traversal when workdir path is not readable 2023-04-08 17:24:41 +01:00
Dennis dde04f9392 [Fix] recognize 32Bit docker container and use x86 arch 2023-03-22 14:52:40 -07:00
William Baker ffcb5213e2 [Perf] Improve performance of listing aliases
Fixes #3054
2023-03-10 00:53:29 -05:00
Nicolas signed-log FORMICHELLA edacf8275e [Fix] Remove unneeded call to ls in nvm_arch
Remove the call to `ls` that was used to determine the symlink
destination

Reasoning :

* `od` resolves symlink itself due to the use of `fopen`
* Prevent the behaviour of `od` which will hang if the filename is
  empty (i.e. `/sbin/init` missing) as it will be waiting for `stdin`
  compared to quitting with error if the file just doesn't exist

Fixes #3006
2023-01-22 11:48:59 +01:00
Jordan Harband 552db40622 v0.39.3 2022-12-23 12:57:56 -08:00
Jordan Harband ac357c59ef [Fix] nvm install-latest-npm: npm v6.14.18 can not be installed from npm < v4.4.4 2022-12-21 14:28:15 -08:00
Jordan Harband abe5e30a9d [shellcheck] remove duplicate function 2022-12-22 13:00:12 -08:00
Jordan Harband 1f4bb91ae6 [Fix] ensure this variable is bound
Fixes #2926
2022-10-26 10:12:06 -07:00
Jordan Harband 924d77cc90 [Fix] debug: correct mistaken -V to --version from #2922 2022-10-24 10:51:20 -07:00
ryenus 095a4ca655 [Fix] debug: awk: not an option: --version
On Debian, the default awk/mawk doesn't support the '--version' option;
instead there's mawk-specific '-W version'.
2022-10-21 16:48:00 +08:00
ryenus 9721791563 [Fix] grep: warning: stray \ before /
No need to escape the `/` char in a grep pattern.
This is to fix the below error when using newer grep with `nvm_command_info`

> $ nvm_command_info curl
> grep: warning: stray \ before /
> /usr/bin/curl

This happens with at least GNU grep 3.8 version.
2022-10-20 10:49:43 +08:00
ryenus 89d6cdd6cf [Fix] improve backward compatibility for non-gnu awk
Adding function alen(arr) since length(arr) is GNU extension.
Fixes #2916
2022-10-18 11:25:12 +08:00
epoweripioneandJordan Harband fe6268c021 [Fix] nvm install error unknown condition: -ne
Fixes #2914

Co-authored-by: epoweripione <siyuwuxin@gmail.com>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
2022-10-15 20:25:52 +08:00
Jordan Harband df01d81128 [Refactor] add nvm_wrap_with_color_code; allow no color code 2022-10-13 20:16:42 -07:00
Jordan Harband 0ccd099bff v0.39.2 2022-10-13 16:25:25 -07:00
Jordan Harband f062cca179 [Refactor] nvm install/nvm_install_default_packages: move "get" logic inside helper 2022-10-13 15:03:36 -07:00
Jordan Harband 71a73b17cf [Fix] --help: proper default NVM_COLORS info 2022-10-13 13:34:43 -07:00
Jordan Harband 0ae8409f4f [Fix] nvm install-latest-npm: ensure npm 9 does not install on unsupported nodes 2022-09-08 14:59:25 -07:00
ryenus 5e9791c4f8 [perf] nvm_print_versions: re-implement using awk
reducing `nvm ls-remote` from almost 20s to below 2s.

Signed-off-by: ryenus <ryenus@gmail.com>
2022-06-05 13:27:03 +08:00
c6269e0ac2 [Fix] Don't override Mac M1 architecture for node ^14.17
Fixes #2743

Co-authored-by: Josh Kelley <joshkel@gmail.com>
Co-authored-by: Raz Luvaton <16746759+rluvaton@users.noreply.github.com>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
2022-03-30 10:53:01 -04:00
Jordan Harband a82edf40ba [Robustness] avoid a clobbered ls
Fixes #2824
2022-06-02 12:25:55 -07:00
deepakchethan 9e884b8d7b [Fix] nvm install: show proper version in .nvmrc install instructions 2022-03-22 18:58:18 +05:30
Jordan Harband c2f740ab38 [patch] HTTP -> HTTPS 2022-01-18 12:49:57 -08:00
Luke Arms 1875fe8b40 [Fix] avoid OpenBSD nvm install error when /sbin/init doesn't exist
`nvm install` fails with "Binary download failed, trying source" when
- running on Bash;
- errtrace (`set -E`) is enabled;
- an ERR trap uses `exit` to return a non-zero status; and
- /sbin/init doesn't exist.

Resolved by moving `ls -dl /sbin/init` to the following `if` statement.
In this context, returning non-zero isn't an error and the ERR trap
isn't executed.
2021-12-26 15:31:53 +11:00
Luke Arms 81f0f3ec19 [Fix] set -E: Add test for node install on Bash with an ERR trap and set -E 2021-12-27 16:02:25 +11:00