Jordan Harband
f9dbad9832
[Tests] clean up .nvmrc after nvm-exec test
2026-01-26 22:34:07 -08:00
Jordan Harband
c451e7a4c8
[Tests] set $_ before sourcing nvm.sh in fast tests
...
nvm.sh uses `NVM_SCRIPT_SOURCE="$_"` to detect its source location.
Adding `: nvm.sh` before each source line ensures `$_` is set correctly, preventing breakage when the previous command (e.g., `set -ex`) overwrites it.
2026-01-26 21:41:57 -08:00
Jordan Harband
38ffc713a7
[Fix] nvm_get_default_packages: use portable awk patterns
...
Replace POSIX `[[:space:]]` character class with `[ \t]` for
mawk compatibility on Ubuntu 16.04.
2026-01-26 16:59:11 -08:00
Jordan Harband
aa1d829102
[Fix] nvm_install_source: explicitly set SHELL=/bin/sh for make
...
Old Node.js versions have Makefiles with unquoted glob patterns like
`rm -f *.o` that fail in zsh's strict glob mode. By passing
SHELL=/bin/sh to make, we ensure POSIX-compliant shell behavior
regardless of what shell nvm is running in.
2026-01-26 15:07:01 -08:00
Wes Todd
ec8906b284
[Fix] install.sh: do not log when user has requested no profile modifications
...
Tests on Windows: `nvm install` / WSL nvm install (script, 18, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 14, Ubuntu-20.04) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 16, Debian) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 16, Ubuntu-18.04) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 16, Ubuntu-20.04) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 18, Debian) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 18, Ubuntu-20.04) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 21, Debian) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 21, Ubuntu-20.04) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (, --lts, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (, 10, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (, 11, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (, 12, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (, 14, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (, 16, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (, 18, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (, 21, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, --lts, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 10, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 11, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 12, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 14, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 16, Alpine) (push) Has been cancelled
Tests on Windows: `nvm install` / tests, on windows (push) Has been cancelled
Tests on Windows: `nvm install` / WSL nvm install (script, 21, Alpine) (push) Has been cancelled
Tests: shellcheck / shellcheck (push) Has been cancelled
Tests: `nvm install-latest-npm` / nvm install-latest-npm (push) Has been cancelled
Tests: nvm install with set -e / test (push) Has been cancelled
Tests: nvm install with set -e / finisher (push) Has been cancelled
urchin tests / all test suites, all shells (push) Has been cancelled
[Tests] `install.sh`: add tests for PROFILE=/dev/null profile skip
Verify that when PROFILE="/dev/null" is set:
- The "Profile not found" warning is suppressed
- Profile modification is skipped as expected
Co-authored-by: Wes Todd <wes@wesleytodd.com >
Co-authored-by: Jordan Harband <ljharb@gmail.com >
2019-12-05 19:30:26 -08:00
Bark
01a8749d7f
[Fix] nvm exec: Do a version check on nvm-exec
...
This check would display a message in case the `.nvmrc` version is not installed, and would not alter the output otherwise.
2024-03-06 16:03:10 +02:00
Noritaka Kobayashi
4d364c2e7b
[readme] fix typo
2025-10-18 10:28:48 +09:00
Rahul Beniwal
81f13638d7
[Fix] Reject bare LTS codenames in nvm install
...
Previously, `nvm install Argon` would succeed by matching the LTS name
in the version description (e.g., "v4.9.1 (Latest LTS: Argon)"), but
`nvm uninstall Argon` would fail because "Argon" is not a valid alias or not a valid version.
Changes:
- Added pattern matching check in nvm_remote_version (nvm.sh:785-791)
- Skips check for implicit aliases (node, stable, etc.) to preserve
existing functionality
- Added unit tests to verify LTS names are rejected while version
numbers still work
After this fix:
- `nvm install Argon` → fails (use `nvm install lts/argon` instead)
- `nvm install 4` → still works
- `nvm install node` → still works
- `nvm install lts/argon` → still works
This makes install and uninstall behavior consistent.
Fixes #3474 .
2025-11-24 21:57:39 +05:30
Jordan Harband
26066c10f4
[Fix] prevent sed errors when pattern contains #
...
When `.nvmrc` or alias files contained comments (lines with `#`),
the `#` character could end up in the search pattern passed to sed,
causing "unterminated regular expression" errors because `#` is
used as the sed address delimiter.
This commit fixes the issue in two places:
1. `nvm_alias`: Strip comments from alias file contents before
returning them, and trim trailing whitespace
2. `nvm_ls`: Escape `#` characters in SEARCH_PATTERN so they're
treated as literal characters in the sed address
Fixes #3761
2026-01-19 22:58:43 -08:00
Jordan Harband
df9ac58f8b
[Fix] reinstall-packages: do not reinstall corepack
...
Fixes #3544
2025-03-11 13:16:58 -07:00
Atsushi Yamamoto
9f520c97db
[Tests] nvm exec/nvm run: add --silent tests
...
Co-authored-by: Atsushi Yamamoto <yamaatsushi927@gmail.com >
Co-authored-by: Jordan Harband <ljharb@gmail.com >
2016-10-11 23:43:10 -07:00
Jordan Harband
1d39e35bd3
[Tests] temporarily skip this failing travis test to unblock progress
2025-02-03 10:50:19 -08:00
Jordan Harband
0641363102
[Tests] install.sh: clean up nvm_detect_profile tests
2024-11-08 10:52:41 +00:00
Jordan Harband
9659af6c16
[Tests] nvm_detect_profile: refactor
2024-11-12 13:31:36 -08:00
menaechmi
abd02e5aae
[Fix] install.sh: fix failing install tests ( #3458 )
2024-11-12 11:57:02 -06:00
menaechmi
cd22c84026
[New] install.sh: add $ZDOTDIR to zsh search
...
Fixes #3128
2024-11-06 16:53:58 -06:00
Jordan Harband
1be4257e96
[Tests] update mocks
2024-10-31 14:23:36 -07:00
Jordan Harband
51ea809d63
[Tests] ensure that unit tests use only mocked LTS names
2024-10-30 23:41:50 -07:00
Reetik Rajan
5dc31ac51b
[patch] give a more helpful message when lts alias is mistakenly used
2024-10-05 09:21:42 +05:30
Jordan Harband
da2720a429
[Fix] nvm ls, nvm alias, nvm install: error when an LTS name is invalid
2024-09-04 13:55:11 -07:00
Jordan Harband
9fb9dec710
[Fix] nvm_normalize_lts: error when an LTS name is not lowercase
...
Fixes #3417
2024-09-04 13:54:41 -07:00
Jordan Harband
9a28dbd394
[actions] use node/install instead of node/run
2024-08-28 11:28:52 -07:00
Jordan Harband
ff7634577b
[Tests] fix broken tests exposed by 863bd63
...
Leaves 2 non-executable, + some TODOs
2024-08-27 12:46:40 -07:00
Jordan Harband
0ce8f5a52f
[Fix] nvm_download: ensure all args are quoted
...
Fixes #3411 .
2024-08-20 22:33:38 -07:00
Jordan Harband
863bd63cfa
[Tests] set proper permissions on test files
2024-08-23 17:23:12 -07:00
Jordan Harband
0d53381666
[Tests] move sourcing suite to GHA
2024-08-22 13:30:55 -07:00
Jordan Harband
df70535248
[Fix] nvm_auto: Fix bug introduced in c31a867
2024-08-21 10:54:19 -07:00
Jordan Harband
14acd3dcdd
[Fix] nvm install -b: do not attempt to download source on a failed binary download with -b
...
Fixes #3399
2024-08-01 10:35:37 -07:00
Jordan Harband
271720ebfc
[Fix] nvm install -b: when no binary is available, fail and output a clear message
2024-08-01 13:57:22 -07:00
Jordan Harband
423ee82b4c
[Tests] fix nvm ls-remote unit test
2024-08-01 10:22:28 -07:00
Jordan Harband
87a709741f
[Fix] nvm_get_default_packages: use awk for more reliable file processing
...
See db19450caa
Fixes #3382
2024-07-28 10:02:08 -07:00
Martin
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
David Welch
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
4c7d899447
[Tests] ignore travis-ci env vars; improve debug output
2024-07-26 12:04:07 -07:00
Jordan Harband
e597bb208e
[Tests] use a better JSON parsing implementation
2024-06-10 11:33:12 -07:00
Jordan Harband
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
b1fa143dd8
[Fix] nvm_get_mirror: ensure only a valid URL is allowed
2023-12-02 14:44:46 -08:00
Jordan Harband
4bdd57ba0f
[Fix] install.sh: when NVM_INSTALL_GITHUB_REPO is set, issue a warning
...
This should only annoy those testing their PRs; real users should never set this env var
2023-11-02 21:10:09 -07: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
6743aef70c
[New] nvm_resolve_alias: only resolve one line of a multiline alias file
2023-10-23 14:41:14 -07:00
Jordan Harband
10cdda081f
[Tests] update test mocks (new LTS, iron)
2023-10-25 15:39:12 -07:00
Jordan Harband
8241287349
[New] aliases: skip leading blank lines in alias file
2023-10-23 14:06:19 -07:00
Jordan Harband
bfce5889f7
[Test] update test mocks
2023-10-23 14:53:39 -07:00
zhangdiandian
1b102ab9a6
[Tests] fix filename typo
...
Signed-off-by: zhangdiandian <1635468471@qq.com >
2023-10-09 07:31:04 +00: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
55075db96d
[Tests] add some nvm_do_install tests
2022-12-27 22:57:07 -08:00
Deniz
5410ae57ba
[Fix] fix node download link for armv8l
...
Fixes #3035
2023-04-29 16:41:31 -07:00
Leo Zlotnikov
0d9b5c2a00
[Fix] fix directory traversal when workdir path is not readable
2023-04-08 17:24:41 +01:00
Jordan Harband
b1331c20b0
[Tests] add unit tests for nvm_download_artifact
2023-04-06 09:23:33 -07:00