From 3e51872b98660c5bf08ca74818e3b474470f1d4d Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 4 Dec 2023 13:06:24 -0800 Subject: [PATCH 01/14] [Tests] temporarily allow WSL tests to fail See https://github.com/Vampire/setup-wsl/issues/50 / https://github.com/actions/runner-images/discussions/8791 --- .github/workflows/windows-npm.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/windows-npm.yml b/.github/workflows/windows-npm.yml index 08bdac402d..ccc90339cf 100644 --- a/.github/workflows/windows-npm.yml +++ b/.github/workflows/windows-npm.yml @@ -87,6 +87,7 @@ jobs: bash.exe "%USERPROFILE%\setup.sh" wsl_matrix: + continue-on-error: true name: 'WSL nvm install' defaults: run: @@ -137,6 +138,7 @@ jobs: node -v wsl_matrix_unofficial: + continue-on-error: true name: 'WSL nvm install' defaults: run: @@ -181,7 +183,7 @@ jobs: name: 'tests, on windows' permissions: contents: none - needs: [wsl_matrix, cygwin_matrix, msys_matrix, msys_fail_install] + needs: [wsl_matrix, wsl_matrix_unofficial, cygwin_matrix, msys_matrix, msys_fail_install] runs-on: ubuntu-latest steps: - run: 'echo tests completed' From 6b15796f66ced0192e8d79fa818c8bad4c8cd2eb Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 4 Dec 2023 15:49:09 -0800 Subject: [PATCH 02/14] [Tests] temporarily allow cygwin tests to fail --- .github/workflows/windows-npm.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/windows-npm.yml b/.github/workflows/windows-npm.yml index ccc90339cf..4c80bb0c2d 100644 --- a/.github/workflows/windows-npm.yml +++ b/.github/workflows/windows-npm.yml @@ -47,6 +47,7 @@ jobs: nvm install ${{ matrix.npm-node-version }} cygwin_matrix: + continue-on-error: true permissions: contents: none name: 'Cygwin nvm install' From 064f2597d11e7a0f92b4ef11a1ea624ed786d989 Mon Sep 17 00:00:00 2001 From: Hao Cheng Date: Sun, 12 Nov 2023 14:18:39 +0100 Subject: [PATCH 03/14] [readme] fix level of headings --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index de24075474..2991072eb7 100644 --- a/README.md +++ b/README.md @@ -36,9 +36,9 @@ - [Setting Custom Colors](#setting-custom-colors) - [Persisting custom colors](#persisting-custom-colors) - [Suppressing colorized output](#suppressing-colorized-output) - - [Restoring PATH](#restoring-path) - - [Set default node version](#set-default-node-version) - - [Use a mirror of node binaries](#use-a-mirror-of-node-binaries) + - [Restoring PATH](#restoring-path) + - [Set default node version](#set-default-node-version) + - [Use a mirror of node binaries](#use-a-mirror-of-node-binaries) - [.nvmrc](#nvmrc) - [Deeper Shell Integration](#deeper-shell-integration) - [bash](#bash) @@ -488,14 +488,14 @@ nvm help --no-colors TERM=dumb nvm ls ``` -#### Restoring PATH +### Restoring PATH To restore your PATH, you can deactivate it: ```sh nvm deactivate ``` -#### Set default node version +### Set default node version To set a default Node version to be used in any new shell, use the alias 'default': ```sh @@ -504,7 +504,7 @@ nvm alias default 18 # this refers to the latest installed v18.x version of node nvm alias default 18.12 # this refers to the latest installed v18.12.x version of node ``` -#### Use a mirror of node binaries +### Use a mirror of node binaries To use a mirror of the node binaries, set `$NVM_NODEJS_ORG_MIRROR`: ```sh From b356fab4b42605fb7e1b3f83af69b5f9ad4a77cb Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Wed, 22 Nov 2023 22:29:01 -0800 Subject: [PATCH 04/14] [meta] fix gitattributes to properly recognize images as binary --- .gitattributes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index fae8897c8e..6313b56c57 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1 @@ -* eol=lf +* text=auto eol=lf From 99646ee6005e389dfdee51a25b33902dd0df2727 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Wed, 15 Nov 2023 10:10:29 -0800 Subject: [PATCH 05/14] [security] add threat model --- .github/SECURITY.md | 4 + .github/THREAT_MODEL.md | 109 ++++++++++++++++++++++ .github/external-threat-actor.png | Bin 0 -> 137404 bytes .github/insider-threat-actor-and-libs.png | Bin 0 -> 56062 bytes 4 files changed, 113 insertions(+) create mode 100644 .github/THREAT_MODEL.md create mode 100644 .github/external-threat-actor.png create mode 100644 .github/insider-threat-actor-and-libs.png diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 3ba6266f2c..fd23e83e19 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -21,3 +21,7 @@ We meet 95% of the “silver” criteria. The gaps are as follows: We meet 65% of the “gold” criteria. The gaps are as follows: - we do not yet have the “silver” badge; see all the gaps above. - We do not include a copyright or license statement in each source file. Efforts are underway to change this archaic practice into a suggestion instead of a hard requirement. + +## Threat Model + +See [THREAT_MODEL.md](./THREAT_MODEL.md). diff --git a/.github/THREAT_MODEL.md b/.github/THREAT_MODEL.md new file mode 100644 index 0000000000..81ea16dce3 --- /dev/null +++ b/.github/THREAT_MODEL.md @@ -0,0 +1,109 @@ +# `nvm` Threat Model + +## Introduction + +Threat model analysis assists organizations to proactively identify potential security threats and vulnerabilities, enabling them to develop effective strategies to mitigate these risks before they are exploited by attackers. +Furthermore, this often helps to improve the overall security and resilience of a system or application. + +The aim of this section is to facilitate the identification of potential security threats and vulnerabilities that may be exploited by adversaries, along with possible outcomes and appropriate mitigations. + +## Relevant assets and threat actors + +The following assets are considered important for the `nvm` project: + - `nvm` source code and project documentation + - Underlying `nvm`` dependencies + - `nvm` development infrastructure + - `nvm` installed devices including servers + +The following threat actors are considered relevant to the `nvm` application: + - External malicious attackers + - Internal malicious attackers + - Services + - Malicious insider actors + - Third-party libraries + +## Attack surface for external/internal attackers and services + +In threat modeling, an attack surface refers to any possible point of entry that an attacker might use to exploit a system or application. +This includes all the paths and interfaces that an attacker may use to access, manipulate or extract sensitive data from a system. +By understanding the attack surface, organizations are typically able to identify potential attack vectors and implement appropriate countermeasures to mitigate risks. + +In the following diagrams, _External Malicious Attacker_ applies to threat actors who do not yet have direct access to the `nvm` application and the underlying operating system, while the _Internal Malicious Attacker_ applies to an attacker with access to the device (computer, server), potentially after successfully exploiting a threat from the _External Malicious Attacker_ scenario. +**Please note that some of the external threats may be also exploitable from internal threats and vice versa.** + +Fig.: Possible attacks from internal and external threat actors and services +Fig.: Possible attacks from internal and external threat actors and services + +## Identified threats + +The identified threats against the `nvm` application are as follows: + +### Threat ID 1: `nvm` commands + +Overview: The `nvm` commands and subcommands take user input for handling and executing appropriate functions from the project directory (or any parent directory). +When user-controlled inputs are not adequately validated and later passed to the `nvm` functions as a part of a command, an attacker might be able to execute operating system commands triggered by any parsing functionality. + +Possible Outcome: Attacks against `nvm` commands could lead to unauthorized access to user data or unauthorized access to the device (i.e. laptop or server, depending on where `nvm` is installed), resulting in loss of user private data stored on the device, among other possibilities. + +Recommendation: Input validation should be implemented to prevent attackers from requesting operating system commands. +Similarly, secure coding practices ought to be in place to minimize the risk of buffer overflow vulnerabilities. + +### Threat ID 2: URI scheme + +Overview: `nvm` commands heavily use the [Secure HyperText Transfer](https://datatracker.ietf.org/doc/html/rfc2660) protocol for `nvm` related actions. +Missing [scheme](https://datatracker.ietf.org/doc/html/rfc3986#section-3.1) validation for any `nvm` command might result in file retrieval, enumeration, file overwrite, or [path traversal](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/05-Authorization_Testing/01-Testing_Directory_Traversal_File_Include) attacks. +An example of this could be path validation for [`nvm_download`](https://github.com/nvm-sh/nvm/blob/ef7fc2f2c06ad75fe7fbabf28d427561ae7b007d/nvm.sh#L118), among many other possibilities. + +Possible Outcome: Security misconfiguration flaws for URI scheme may lead to unauthorized access to user data, as well as data integrity compromises. + +Recommendation: Adequate input validation should be implemented to prevent attackers from enumerating, retrieving and writing to application files and paths. + +### Threat ID 3: Communication channel + +Overview: The `nvm` commands and its subcommands use network protocol to communicate with external services. +Insecure communication may allow malicious attackers to perform [_Man-in-the-Middle_](https://owasp.org/www-community/attacks/Manipulator-in-the-middle_attack) attacks in order to manipulate the data sent during the users’ active connection. + +Possible Outcome: Usage of plaintext communication protocols, like HTTP could lead to data sniffing and modification through insecure communications channels. + +Recommendation: Mitigation countermeasures such as data encryption should be in place to prevent data manipulation via insecure communication channels. + +### Threat ID 4: Environment variables + +Overview: Each `nvm` installation defines its environment variables, which should be secured from internal malicious attackers, preventing access control attack vectors. +Missing stringent restrictions on setting variables, might allow attackers to prepare various targeted attacks against other local users, who use `nvm` in their user space. +For example, [_Privilege Escalation_](https://owasp.org/Top10/A01_2021-Broken_Access_Control/), [_Command Injection_](https://cwe.mitre.org/data/definitions/77.html), as well as many other parser-related attacks. + +Possible Outcome: Attacks against environment variables could lead to unauthorized access to the user space, resulting in the loss of user private data and disruptions in service availability. + +Recommendation: Adequate hardening of configuration file permissions should be in place for all relevant configuration files, as this provides protection against attackers able to manipulate variables and inject malicious code. + +## Attack surface for malicious insider actors and third-party libraries + +The following diagram summarizes the main possible threats against the `nvm` project from malicious insider actors and third-party libraries: + +Fig.: Possible attacks from insider threat actors and third-party libraries +Fig.: Possible attacks from insider threat actors and third-party libraries + +The identified threats against the `nvm` project are as follows: + +### Threat ID 1: Insider threat actor + +**Overview**: An insider threat actor, such as an `nvm` project contributor or employee with access to the code base, might abuse their role in the organization to modify the `nvm` application source code. +For example, intentionally adding malicious code snippets, clearing logs after being written and/or modifying specific sections of the documentation. + +**Possible Outcome**: Reputation damage, financial losses. + +**Recommendation**: Secure coding practices, code reviews, automated code scanning and separation of duties (i.e. requiring at least two developers to approve any code change) are potentially useful security controls to identify and mitigate vulnerabilities that may be introduced by an insider threat actor. + +### Threat ID 2: Third-party libraries + +**Overview**: Please note that while `nvm` does not currently make use of any third-party libraries, this might become an attack vector if that changes in the future. +Third-party libraries may introduce potential risks related to maintaining security requirements by third-party vendors. +As a result, third-party libraries used by the `nvm` project, might contain vulnerabilities, such as [_Buffer Overflows_](https://owasp.org/www-community/vulnerabilities/Buffer_Overflow), [_Format String Vulnerabilities_](https://owasp.org/www-community/attacks/Format_string_attack), as well as many other types of weaknesses that, in a worst-case scenario may lead to _Remote Code Execution_ (_RCE_). +Additionally, the maintainer of a third-party dependency might introduce a vulnerability on purpose, or be compromised by an attacker that subsequently introduces vulnerable code. + +**Possible Outcome**: Code vulnerabilities may lead to unauthorized access to user data, loss of user private data, service disruptions and reputation damage. + +**Recommendation**: Third-party libraries should be kept up-to-date, applying patches to address publicly known vulnerabilities in a timely fashion. +Monitoring and logging capabilities should also be in place to detect and respond to potential attacks. +SLSA compliance may also be considered for further supply chain security hardening. diff --git a/.github/external-threat-actor.png b/.github/external-threat-actor.png new file mode 100644 index 0000000000000000000000000000000000000000..e0a47b9656c054fcaacb73b60ff3fc2a8b2e44d9 GIT binary patch literal 137404 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 literal 0 HcmV?d00001 From cc765cc000763df50d1f6a02de7ecd177c8db06b Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Fri, 24 Nov 2023 20:42:53 -0800 Subject: [PATCH 06/14] [Fix] avoid overridden `hash` Fixes #3239 --- nvm.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nvm.sh b/nvm.sh index b2af93c3ae..aa9afad5a2 100644 --- a/nvm.sh +++ b/nvm.sh @@ -3559,7 +3559,7 @@ nvm() { fi else export PATH="${NEWPATH}" - hash -r + command hash -r if [ "${NVM_SILENT:-0}" -ne 1 ]; then nvm_echo "${NVM_DIR}/*/bin removed from \${PATH}" fi @@ -3691,7 +3691,7 @@ nvm() { export MANPATH fi export PATH - hash -r + command hash -r export NVM_BIN="${NVM_VERSION_DIR}/bin" export NVM_INC="${NVM_VERSION_DIR}/include/node" if [ "${NVM_SYMLINK_CURRENT-}" = true ]; then From b1fa143dd8cbebd9847972c08fb383646ca00642 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Sat, 2 Dec 2023 14:44:46 -0800 Subject: [PATCH 07/14] [Fix] `nvm_get_mirror`: ensure only a valid URL is allowed --- nvm.sh | 8 +++++++- test/fast/Unit tests/nvm_get_mirror | 27 +++++++++++++++++---------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/nvm.sh b/nvm.sh index aa9afad5a2..be5b34d334 100644 --- a/nvm.sh +++ b/nvm.sh @@ -2035,12 +2035,18 @@ nvm_get_mirror() { esac case "${NVM_MIRROR}" in - *\`* | *\\* | *\'* | *\(* ) + *\`* | *\\* | *\'* | *\(* | *' '* ) nvm_err '$NVM_NODEJS_ORG_MIRROR and $NVM_IOJS_ORG_MIRROR may only contain a URL' return 2 ;; esac + + if ! nvm_echo "${NVM_MIRROR}" | command awk '{ $0 ~ "^https?://[a-zA-Z0-9./_-]+$" }'; then + nvm_err '$NVM_NODEJS_ORG_MIRROR and $NVM_IOJS_ORG_MIRROR may only contain a URL' + return 2 + fi + nvm_echo "${NVM_MIRROR}" } diff --git a/test/fast/Unit tests/nvm_get_mirror b/test/fast/Unit tests/nvm_get_mirror index 1980f3846d..201a0eedfa 100755 --- a/test/fast/Unit tests/nvm_get_mirror +++ b/test/fast/Unit tests/nvm_get_mirror @@ -23,18 +23,25 @@ set -e [ "$(nvm_get_mirror node std)" = "https://nodejs.org/dist" ] || die "incorrect default node-std mirror" [ "$(nvm_get_mirror iojs std)" = "https://iojs.org/dist" ] || die "incorrect default iojs-std mirror" -NVM_NODEJS_ORG_MIRROR="test://domain" -[ "$(nvm_get_mirror node std)" = "test://domain" ] || die "node-std mirror should respect NVM_NODEJS_ORG_MIRROR" +NVM_NODEJS_ORG_MIRROR="https://test-domain" +[ "$(nvm_get_mirror node std)" = "https://test-domain" ] || die "node-std mirror should respect NVM_NODEJS_ORG_MIRROR" unset NVM_NODEJS_ORG_MIRROR -NVM_IOJS_ORG_MIRROR="test://domain" -[ "$(nvm_get_mirror iojs std)" = "test://domain" ] || die "iojs-std mirror should respect NVM_IOJS_ORG_MIRROR" +NVM_IOJS_ORG_MIRROR="https://test-domain" +[ "$(nvm_get_mirror iojs std)" = "https://test-domain" ] || die "iojs-std mirror should respect NVM_IOJS_ORG_MIRROR" unset NVM_IOJS_ORG_MIRROR -NVM_NODEJS_ORG_MIRROR='`do something bad`' -! nvm_get_mirror node std || die 'NVM_NODEJS_ORG_MIRROR errors with command injection attempt' -[ "$(nvm_get_mirror node std)" = "" ] || die 'NVM_NODEJS_ORG_MIRROR is protected against command injection' +testMirrors() { + NVM_NODEJS_ORG_MIRROR="${1-}" + ! nvm_get_mirror node std || die "NVM_NODEJS_ORG_MIRROR errors with command injection attempt (${1-})" + [ "$(nvm_get_mirror node std)" = "" ] || die 'NVM_NODEJS_ORG_MIRROR is protected against command injection' -NVM_IOJS_ORG_MIRROR='`do something bad`' -! nvm_get_mirror iojs std || die 'NVM_IOJS_ORG_MIRROR errors with command injection attempt' -[ "$(nvm_get_mirror iojs std)" = "" ] || die 'NVM_IOJS_ORG_MIRROR is protected against command injection' + NVM_IOJS_ORG_MIRROR="${1-}" + ! nvm_get_mirror iojs std || die "NVM_IOJS_ORG_MIRROR errors with command injection attempt (${1-})" + [ "$(nvm_get_mirror iojs std)" = "" ] || die 'NVM_IOJS_ORG_MIRROR is protected against command injection' +} + +testMirrors '`do something bad`' +testMirrors 'https://nodejs.org/dist; xdg-open http://www.google.com;' +testMirrors 'https://nodejs.org/dist&&xdg-open http://www.google.com;' +testMirrors 'https://nodejs.org/dist|xdg-open http://www.google.com;' From 925cff2c78d048bccb63f95cf272778342bc1602 Mon Sep 17 00:00:00 2001 From: Ellet <73608287+freshtechtips@users.noreply.github.com> Date: Fri, 1 Dec 2023 05:56:48 +0300 Subject: [PATCH 08/14] =?UTF-8?q?[readme]=20update=20M1=20to=20=E2=80=9CAp?= =?UTF-8?q?ple=20Silicon=E2=80=9D=20because=20of=20M2=20and=20M3;=20fix=20?= =?UTF-8?q?typos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2991072eb7..755f32125f 100644 --- a/README.md +++ b/README.md @@ -159,13 +159,13 @@ If you get `nvm: command not found` after running the install script, one of the If the above doesn't fix the problem, you may try the following: - - If you use bash, it may be that your `.bash_profile` (or `~/.profile`) does not source your `~/.bashrc` properly. You could fix this by adding `source ~/` to it or follow the next step below. + - If you use bash, it may be that your `.bash_profile` (or `~/.profile`) does not source your `~/.bashrc` properly. You could fix this by adding `source ~/` to it or following the next step below. - Try adding [the snippet from the install section](#profile_snippet), that finds the correct nvm directory and loads nvm, to your usual profile (`~/.bash_profile`, `~/.zshrc`, `~/.profile`, or `~/.bashrc`). - For more information about this issue and possible workarounds, please [refer here](https://github.com/nvm-sh/nvm/issues/576) -**Note** For Macs with the M1 chip, node started offering **arm64** arch darwin packages since v16.0.0 and experimental **arm64** support when compiling from source since v14.17.0. If you are facing issues installing node using `nvm`, you may want to update to one of those versions or later. +**Note** For Macs with the Apple Silicon chip, node started offering **arm64** arch Darwin packages since v16.0.0 and experimental **arm64** support when compiling from source since v14.17.0. If you are facing issues installing node using `nvm`, you may want to update to one of those versions or later. #### Ansible @@ -193,9 +193,9 @@ which should output `nvm` if the installation was successful. Please note that ` ### Important Notes -If you're running a system without prepackaged binary available, which means you're going to install nodejs or io.js from its source code, you need to make sure your system has a C++ compiler. For OS X, Xcode will work, for Debian/Ubuntu based GNU/Linux, the `build-essential` and `libssl-dev` packages work. +If you're running a system without prepackaged binary available, which means you're going to install node or io.js from its source code, you need to make sure your system has a C++ compiler. For OS X, Xcode will work, for Debian/Ubuntu based GNU/Linux, the `build-essential` and `libssl-dev` packages work. -**Note:** `nvm` also support Windows in some cases. It should work through WSL (Windows Subsystem for Linux) depending on the version of WSL. It should also work with [GitBash](https://gitforwindows.org/) (MSYS) or [Cygwin](https://cygwin.com). Otherwise, for Windows, a few alternatives exist, which are neither supported nor developed by us: +**Note:** `nvm` also supports Windows in some cases. It should work through WSL (Windows Subsystem for Linux) depending on the version of WSL. It should also work with [GitBash](https://gitforwindows.org/) (MSYS) or [Cygwin](https://cygwin.com). Otherwise, for Windows, a few alternatives exist, which are neither supported nor developed by us: - [nvm-windows](https://github.com/coreybutler/nvm-windows) - [nodist](https://github.com/marcelklehr/nodist) @@ -211,7 +211,7 @@ If you're running a system without prepackaged binary available, which means you **Note:** We still have some problems with FreeBSD, because there is no official pre-built binary for FreeBSD, and building from source may need [patches](https://www.freshports.org/www/node/files/patch-deps_v8_src_base_platform_platform-posix.cc); see the issue ticket: - - [[#900] [Bug] nodejs on FreeBSD may need to be patched](https://github.com/nvm-sh/nvm/issues/900) + - [[#900] [Bug] node on FreeBSD may need to be patched](https://github.com/nvm-sh/nvm/issues/900) - [nodejs/node#3716](https://github.com/nodejs/node/issues/3716) **Note:** On OS X, if you do not have Xcode installed and you do not wish to download the ~4.3GB file, you can install the `Command Line Tools`. You can check out this blog post on how to just that: @@ -944,12 +944,12 @@ Ignore insecure directories and continue [y] or abort compinit [n]? y Homebrew causes insecure directories like `/usr/local/share/zsh/site-functions` and `/usr/local/share/zsh`. This is **not** an `nvm` problem - it is a homebrew problem. Refer [here](https://github.com/zsh-users/zsh-completions/issues/680) for some solutions related to the issue. -**Macs with M1 chip** +**Macs with Apple Silicon chips** -Experimental support for the M1 architecture was added in node.js v15.3 and full support was added in v16.0. +Experimental support for the Apple Silicon chip architecture was added in node.js v15.3 and full support was added in v16.0. Because of this, if you try to install older versions of node as usual, you will probably experience either compilation errors when installing node or out-of-memory errors while running your code. -So, if you want to run a version prior to v16.0 on an M1 Mac, it may be best to compile node targeting the `x86_64` Intel architecture so that Rosetta 2 can translate the `x86_64` processor instructions to ARM-based Apple Silicon instructions. +So, if you want to run a version prior to v16.0 on an Apple Silicon Mac, it may be best to compile node targeting the `x86_64` Intel architecture so that Rosetta 2 can translate the `x86_64` processor instructions to ARM-based Apple Silicon instructions. Here's what you will need to do: - Install Rosetta, if you haven't already done so @@ -958,7 +958,7 @@ Here's what you will need to do: $ softwareupdate --install-rosetta ``` - You might wonder, "how will my M1 Mac know to use Rosetta for a version of node compiled for an Intel chip?". + You might wonder, "how will my Apple Silicon Mac know to use Rosetta for a version of node compiled for an Intel chip?". If an executable contains only Intel instructions, macOS will automatically use Rosetta to translate the instructions. - Open a shell that's running using Rosetta @@ -1037,7 +1037,7 @@ This could simply be solved by running this in your root directory: sudo chattr +i /etc/resolv.conf ``` -This deletes your `resolv.conf` file thats automatically generated when u run WSL, creates a new file and puts `nameserver 8.8.8.8`, then creates a `wsl.conf` file and adds `[network]` and `generateResolveConf = false` to prevent auto generation of that file. +This deletes your `resolv.conf` file that is automatically generated when u run WSL, creates a new file and puts `nameserver 8.8.8.8`, then creates a `wsl.conf` file and adds `[network]` and `generateResolveConf = false` to prevent auto-generation of that file. You can check the contents of the file by running: From 6262b5a666440174bcc90837ad96032a7eaaca5e Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Mon, 23 Oct 2023 21:48:11 -0600 Subject: [PATCH 09/14] [readme] rearrange install args --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 755f32125f..8426c31892 100644 --- a/README.md +++ b/README.md @@ -356,7 +356,7 @@ Any time your local copy of `nvm` connects to https://nodejs.org, it will re-cre To get the latest LTS version of node and migrate your existing installed packages, use ```sh -nvm install 'lts/*' --reinstall-packages-from=current +nvm install --reinstall-packages-from=current 'lts/*' ``` ### Migrating Global Packages While Installing @@ -364,7 +364,7 @@ nvm install 'lts/*' --reinstall-packages-from=current If you want to install a new version of Node.js and migrate npm packages from a previous version: ```sh -nvm install node --reinstall-packages-from=node +nvm install --reinstall-packages-from=node node ``` This will first use "nvm version node" to identify the current version you're migrating packages from. Then it resolves the new version to install from the remote server and installs it. Lastly, it runs "nvm reinstall-packages" to reinstall the npm packages from your prior version of Node to the new one. @@ -372,8 +372,8 @@ This will first use "nvm version node" to identify the current version you're mi You can also install and migrate npm packages from specific versions of Node like this: ```sh -nvm install 6 --reinstall-packages-from=5 -nvm install v4.2 --reinstall-packages-from=iojs +nvm install --reinstall-packages-from=5 6 +nvm install --reinstall-packages-from=iojs v4.2 ``` Note that reinstalling packages _explicitly does not update the npm version_ — this is to ensure that npm isn't accidentally upgraded to a broken version for the new node version. @@ -381,7 +381,7 @@ Note that reinstalling packages _explicitly does not update the npm version_ — To update npm at the same time add the `--latest-npm` flag, like this: ```sh -nvm install 'lts/*' --reinstall-packages-from=default --latest-npm +nvm install --reinstall-packages-from=default --latest-npm 'lts/*' ``` or, you can at any time run the following command to get the latest supported npm version on the current node version: @@ -415,7 +415,7 @@ nvm install iojs If you want to install a new version of io.js and migrate npm packages from a previous version: ```sh -nvm install iojs --reinstall-packages-from=iojs +nvm install --reinstall-packages-from=iojs iojs ``` The same guidelines mentioned for migrating npm packages in node are applicable to io.js. From 7aee54b76cf75523b125a0d3c55d33f89c6fe8c1 Mon Sep 17 00:00:00 2001 From: Ben Wiley Date: Thu, 29 Jun 2017 14:23:03 -0400 Subject: [PATCH 10/14] =?UTF-8?q?[readme]=20reorganize=20=E2=80=9Cdeeper?= =?UTF-8?q?=20shell=20integration=E2=80=9D=20instructions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 54 ++++++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 8426c31892..11cac88cd9 100644 --- a/README.md +++ b/README.md @@ -41,12 +41,10 @@ - [Use a mirror of node binaries](#use-a-mirror-of-node-binaries) - [.nvmrc](#nvmrc) - [Deeper Shell Integration](#deeper-shell-integration) - - [bash](#bash) - - [Automatically call `nvm use`](#automatically-call-nvm-use) - - [zsh](#zsh) - - [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-with-a-nvmrc-file) - - [fish](#fish) - - [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-with-a-nvmrc-file-1) + - [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-with-a-nvmrc-file) + - [bash](#bash) + - [zsh](#zsh) + - [fish](#fish) - [Running Tests](#running-tests) - [Environment variables](#environment-variables) - [Bash Completion](#bash-completion) @@ -575,52 +573,53 @@ You can also use [`nvshim`](https://github.com/iamogbz/nvshim) to shim the `node If you prefer a lighter-weight solution, the recipes below have been contributed by `nvm` users. They are **not** supported by the `nvm` maintainers. We are, however, accepting pull requests for more examples. -#### bash +#### Calling `nvm use` automatically in a directory with a `.nvmrc` file -##### Automatically call `nvm use` +In your profile (`~/.bash_profile`, `~/.zshrc`, `~/.profile`, or `~/.bashrc`), add the following to `nvm use` whenever you enter a new directory: + +##### bash Put the following at the end of your `$HOME/.bashrc`: ```bash cdnvm() { command cd "$@" || return $? - nvm_path=$(nvm_find_up .nvmrc | tr -d '\n') + nvm_path="$(nvm_find_up .nvmrc | command tr -d '\n')" # If there are no .nvmrc file, use the default nvm version if [[ ! $nvm_path = *[^[:space:]]* ]]; then - declare default_version; - default_version=$(nvm version default); + declare default_version + default_version="$(nvm version default)" # If there is no default version, set it to `node` # This will use the latest version on your machine - if [[ $default_version == "N/A" ]]; then - nvm alias default node; - default_version=$(nvm version default); + if [ $default_version = 'N/A' ]; then + nvm alias default node + default_version=$(nvm version default) fi # If the current version is not the default version, set it to use the default version - if [[ $(nvm current) != "$default_version" ]]; then - nvm use default; + if [ "$(nvm current)" != "${default_version}" ]; then + nvm use default fi - - elif [[ -s $nvm_path/.nvmrc && -r $nvm_path/.nvmrc ]]; then + elif [[ -s "${nvm_path}/.nvmrc" && -r "${nvm_path}/.nvmrc" ]]; then declare nvm_version - nvm_version=$(<"$nvm_path"/.nvmrc) + nvm_version=$(<"${nvm_path}"/.nvmrc) declare locally_resolved_nvm_version # `nvm ls` will check all locally-available versions # If there are multiple matching versions, take the latest one # Remove the `->` and `*` characters and spaces # `locally_resolved_nvm_version` will be `N/A` if no local versions are found - locally_resolved_nvm_version=$(nvm ls --no-colors "$nvm_version" | tail -1 | tr -d '\->*' | tr -d '[:space:]') + locally_resolved_nvm_version=$(nvm ls --no-colors "${nvm_version}" | command tail -1 | command tr -d '\->*' | command tr -d '[:space:]') # If it is not already installed, install it # `nvm install` will implicitly use the newly-installed version - if [[ "$locally_resolved_nvm_version" == "N/A" ]]; then - nvm install "$nvm_version"; - elif [[ $(nvm current) != "$locally_resolved_nvm_version" ]]; then - nvm use "$nvm_version"; + if [ "${locally_resolved_nvm_version}" = 'N/A' ]; then + nvm install "${nvm_version}"; + elif [ "$(nvm current)" != "${locally_resolved_nvm_version}" ]; then + nvm use "${nvm_version}"; fi fi } @@ -631,9 +630,9 @@ cdnvm "$PWD" || exit This alias would search 'up' from your current directory in order to detect a `.nvmrc` file. If it finds it, it will switch to that version; if not, it will use the default version. -#### zsh +##### zsh -##### Calling `nvm use` automatically in a directory with a `.nvmrc` file +This shell function will install (if needed) and `nvm use` the specified Node version when an `.nvmrc` is found, and `nvm use default` otherwise. Put this into your `$HOME/.zshrc` to call `nvm use` automatically whenever you enter a directory that contains an `.nvmrc` file with a string telling nvm which node to `use`: @@ -665,9 +664,8 @@ add-zsh-hook chpwd load-nvmrc load-nvmrc ``` -#### fish +##### fish -##### Calling `nvm use` automatically in a directory with a `.nvmrc` file This requires that you have [bass](https://github.com/edc/bass) installed. ```fish # ~/.config/fish/functions/nvm.fish From c73009f50327b539f39c7e94504c8974b7d83c66 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 4 Dec 2023 22:03:25 -0800 Subject: [PATCH 11/14] v0.39.6 --- README.md | 24 ++++++++++++------------ install.sh | 2 +- nvm.sh | 2 +- package.json | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 11cac88cd9..42a3aef4ac 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ -# Node Version Manager [![Build Status](https://app.travis-ci.com/nvm-sh/nvm.svg?branch=master)][3] [![nvm version](https://img.shields.io/badge/version-v0.39.5-yellow.svg)][4] [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/684/badge)](https://bestpractices.coreinfrastructure.org/projects/684) +# Node Version Manager [![Build Status](https://app.travis-ci.com/nvm-sh/nvm.svg?branch=master)][3] [![nvm version](https://img.shields.io/badge/version-v0.39.6-yellow.svg)][4] [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/684/badge)](https://bestpractices.coreinfrastructure.org/projects/684) @@ -99,10 +99,10 @@ nvm is a version manager for [node.js](https://nodejs.org/en/), designed to be i To **install** or **update** nvm, you should run the [install script][2]. To do that, you may either download and run the script manually, or use the following cURL or Wget command: ```sh -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash ``` ```sh -wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash +wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash ``` Running either of the above commands downloads a script and runs it. The script clones the nvm repository to `~/.nvm`, and attempts to add the source lines from the snippet below to the correct profile file (`~/.bash_profile`, `~/.zshrc`, `~/.profile`, or `~/.bashrc`). @@ -124,7 +124,7 @@ Eg: `curl ... | NVM_DIR="path/to/nvm"`. Ensure that the `NVM_DIR` does not conta - The installer can use `git`, `curl`, or `wget` to download `nvm`, whichever is available. -- You can instruct the installer to not edit your shell config (for example if you already get completions via a [zsh nvm plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/nvm)) by setting `PROFILE=/dev/null` before running the `install.sh` script. Here's an example one-line command to do that: `PROFILE=/dev/null bash -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash'` +- You can instruct the installer to not edit your shell config (for example if you already get completions via a [zsh nvm plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/nvm)) by setting `PROFILE=/dev/null` before running the `install.sh` script. Here's an example one-line command to do that: `PROFILE=/dev/null bash -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash'` #### Troubleshooting on Linux @@ -172,7 +172,7 @@ You can use a task: ```yaml - name: Install nvm ansible.builtin.shell: > - curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash args: creates: "{{ ansible_env.HOME }}/.nvm/nvm.sh" ``` @@ -234,7 +234,7 @@ If you have `git` installed (requires git v1.7.10+): 1. clone this repo in the root of your user profile - `cd ~/` from anywhere then `git clone https://github.com/nvm-sh/nvm.git .nvm` -1. `cd ~/.nvm` and check out the latest version with `git checkout v0.39.5` +1. `cd ~/.nvm` and check out the latest version with `git checkout v0.39.6` 1. activate `nvm` by sourcing it from your shell: `. ./nvm.sh` Now add these lines to your `~/.bashrc`, `~/.profile`, or `~/.zshrc` file to have it automatically sourced upon login: @@ -822,13 +822,13 @@ If installing nvm on Alpine Linux *is* still what you want or need to do, you sh ### Alpine Linux 3.13+ ```sh apk add -U curl bash ca-certificates openssl ncurses coreutils python3 make gcc g++ libgcc linux-headers grep util-linux binutils findutils -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash ``` ### Alpine Linux 3.5 - 3.12 ```sh apk add -U curl bash ca-certificates openssl ncurses coreutils python2 make gcc g++ libgcc linux-headers grep util-linux binutils findutils -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash ``` _Note: Alpine 3.5 can only install NodeJS versions up to v6.9.5, Alpine 3.6 can only install versions up to v6.10.3, Alpine 3.7 installs versions up to v8.9.3, Alpine 3.8 installs versions up to v8.14.0, Alpine 3.9 installs versions up to v10.19.0, Alpine 3.10 installs versions up to v10.24.1, Alpine 3.11 installs versions up to v12.22.6, Alpine 3.12 installs versions up to v12.22.12, Alpine 3.13 & 3.14 install versions up to v14.20.0, Alpine 3.15 & 3.16 install versions up to v16.16.0 (**These are all versions on the main branch**). Alpine 3.5 - 3.12 required the package `python2` to build NodeJS, as they are older versions to build. Alpine 3.13+ requires `python3` to successfully build newer NodeJS versions, but you can use `python2` with Alpine 3.13+ if you need to build versions of node supported in Alpine 3.5 - 3.15, you just need to specify what version of NodeJS you need to install in the package install script._ @@ -927,9 +927,9 @@ You have to make sure that the user directory name in `$HOME` and the user direc To change the user directory and/or account name follow the instructions [here](https://support.apple.com/en-us/HT201548) [1]: https://github.com/nvm-sh/nvm.git -[2]: https://github.com/nvm-sh/nvm/blob/v0.39.5/install.sh +[2]: https://github.com/nvm-sh/nvm/blob/v0.39.6/install.sh [3]: https://app.travis-ci.com/nvm-sh/nvm -[4]: https://github.com/nvm-sh/nvm/releases/tag/v0.39.5 +[4]: https://github.com/nvm-sh/nvm/releases/tag/v0.39.6 [Urchin]: https://git.sdf.org/tlevine/urchin [Fish]: https://fishshell.com @@ -987,7 +987,7 @@ Here's what you will need to do: If one of these broken versions is installed on your system, the above step will likely still succeed even if you didn't include the `--shared-zlib` flag. However, later, when you attempt to `npm install` something using your old version of node.js, you will see `incorrect data check` errors. If you want to avoid the possible hassle of dealing with this, include that flag. - For more details, see [this issue](https://github.com/nodejs/node/issues/39313) and [this comment](https://github.com/nodejs/node/issues/39313#issuecomment-902395576) + For more details, see [this issue](https://github.com/nodejs/node/issues/39313) and [this comment](https://github.com/nodejs/node/issues/39313#issuecomment-90.39.676) - Exit back to your native shell. @@ -1014,7 +1014,7 @@ Now you should be able to use node as usual. If you've encountered this error on WSL-2: ```sh - curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0curl: (6) Could not resolve host: raw.githubusercontent.com diff --git a/install.sh b/install.sh index 8df8c5bba2..819a68c616 100755 --- a/install.sh +++ b/install.sh @@ -33,7 +33,7 @@ nvm_install_dir() { } nvm_latest_version() { - nvm_echo "v0.39.5" + nvm_echo "v0.39.6" } nvm_profile_is_bash_or_zsh() { diff --git a/nvm.sh b/nvm.sh index be5b34d334..c02adddc84 100644 --- a/nvm.sh +++ b/nvm.sh @@ -4226,7 +4226,7 @@ nvm() { NVM_VERSION_ONLY=true NVM_LTS="${NVM_LTS-}" nvm_remote_version "${PATTERN:-node}" ;; "--version" | "-v") - nvm_echo '0.39.5' + nvm_echo '0.39.6' ;; "unload") nvm deactivate >/dev/null 2>&1 diff --git a/package.json b/package.json index 65b44606d6..247af89145 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nvm", - "version": "0.39.5", + "version": "0.39.6", "description": "Node Version Manager - Simple bash script to manage multiple active node.js versions", "directories": { "test": "test" From d86f2704380fbb0b835dae07ebbb2b2f82e074fd Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 5 Dec 2023 21:48:51 -0800 Subject: [PATCH 12/14] [Fix] use `\hash` instead of `command hash` for `zsh` See #3239; Fixes #3247; Closes #3246 --- nvm.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nvm.sh b/nvm.sh index c02adddc84..5b31f5c0c8 100644 --- a/nvm.sh +++ b/nvm.sh @@ -3565,7 +3565,7 @@ nvm() { fi else export PATH="${NEWPATH}" - command hash -r + \hash -r if [ "${NVM_SILENT:-0}" -ne 1 ]; then nvm_echo "${NVM_DIR}/*/bin removed from \${PATH}" fi @@ -3697,7 +3697,7 @@ nvm() { export MANPATH fi export PATH - command hash -r + \hash -r export NVM_BIN="${NVM_VERSION_DIR}/bin" export NVM_INC="${NVM_VERSION_DIR}/include/node" if [ "${NVM_SYMLINK_CURRENT-}" = true ]; then From bab86d5de571015b63fd8fc30b47bbe072a1290e Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 5 Dec 2023 21:50:27 -0800 Subject: [PATCH 13/14] v0.39.7 --- README.md | 24 ++++++++++++------------ install.sh | 2 +- nvm.sh | 2 +- package.json | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 42a3aef4ac..21bca85518 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ -# Node Version Manager [![Build Status](https://app.travis-ci.com/nvm-sh/nvm.svg?branch=master)][3] [![nvm version](https://img.shields.io/badge/version-v0.39.6-yellow.svg)][4] [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/684/badge)](https://bestpractices.coreinfrastructure.org/projects/684) +# Node Version Manager [![Build Status](https://app.travis-ci.com/nvm-sh/nvm.svg?branch=master)][3] [![nvm version](https://img.shields.io/badge/version-v0.39.7-yellow.svg)][4] [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/684/badge)](https://bestpractices.coreinfrastructure.org/projects/684) @@ -99,10 +99,10 @@ nvm is a version manager for [node.js](https://nodejs.org/en/), designed to be i To **install** or **update** nvm, you should run the [install script][2]. To do that, you may either download and run the script manually, or use the following cURL or Wget command: ```sh -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash ``` ```sh -wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash +wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash ``` Running either of the above commands downloads a script and runs it. The script clones the nvm repository to `~/.nvm`, and attempts to add the source lines from the snippet below to the correct profile file (`~/.bash_profile`, `~/.zshrc`, `~/.profile`, or `~/.bashrc`). @@ -124,7 +124,7 @@ Eg: `curl ... | NVM_DIR="path/to/nvm"`. Ensure that the `NVM_DIR` does not conta - The installer can use `git`, `curl`, or `wget` to download `nvm`, whichever is available. -- You can instruct the installer to not edit your shell config (for example if you already get completions via a [zsh nvm plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/nvm)) by setting `PROFILE=/dev/null` before running the `install.sh` script. Here's an example one-line command to do that: `PROFILE=/dev/null bash -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash'` +- You can instruct the installer to not edit your shell config (for example if you already get completions via a [zsh nvm plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/nvm)) by setting `PROFILE=/dev/null` before running the `install.sh` script. Here's an example one-line command to do that: `PROFILE=/dev/null bash -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash'` #### Troubleshooting on Linux @@ -172,7 +172,7 @@ You can use a task: ```yaml - name: Install nvm ansible.builtin.shell: > - curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash args: creates: "{{ ansible_env.HOME }}/.nvm/nvm.sh" ``` @@ -234,7 +234,7 @@ If you have `git` installed (requires git v1.7.10+): 1. clone this repo in the root of your user profile - `cd ~/` from anywhere then `git clone https://github.com/nvm-sh/nvm.git .nvm` -1. `cd ~/.nvm` and check out the latest version with `git checkout v0.39.6` +1. `cd ~/.nvm` and check out the latest version with `git checkout v0.39.7` 1. activate `nvm` by sourcing it from your shell: `. ./nvm.sh` Now add these lines to your `~/.bashrc`, `~/.profile`, or `~/.zshrc` file to have it automatically sourced upon login: @@ -822,13 +822,13 @@ If installing nvm on Alpine Linux *is* still what you want or need to do, you sh ### Alpine Linux 3.13+ ```sh apk add -U curl bash ca-certificates openssl ncurses coreutils python3 make gcc g++ libgcc linux-headers grep util-linux binutils findutils -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash ``` ### Alpine Linux 3.5 - 3.12 ```sh apk add -U curl bash ca-certificates openssl ncurses coreutils python2 make gcc g++ libgcc linux-headers grep util-linux binutils findutils -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash ``` _Note: Alpine 3.5 can only install NodeJS versions up to v6.9.5, Alpine 3.6 can only install versions up to v6.10.3, Alpine 3.7 installs versions up to v8.9.3, Alpine 3.8 installs versions up to v8.14.0, Alpine 3.9 installs versions up to v10.19.0, Alpine 3.10 installs versions up to v10.24.1, Alpine 3.11 installs versions up to v12.22.6, Alpine 3.12 installs versions up to v12.22.12, Alpine 3.13 & 3.14 install versions up to v14.20.0, Alpine 3.15 & 3.16 install versions up to v16.16.0 (**These are all versions on the main branch**). Alpine 3.5 - 3.12 required the package `python2` to build NodeJS, as they are older versions to build. Alpine 3.13+ requires `python3` to successfully build newer NodeJS versions, but you can use `python2` with Alpine 3.13+ if you need to build versions of node supported in Alpine 3.5 - 3.15, you just need to specify what version of NodeJS you need to install in the package install script._ @@ -927,9 +927,9 @@ You have to make sure that the user directory name in `$HOME` and the user direc To change the user directory and/or account name follow the instructions [here](https://support.apple.com/en-us/HT201548) [1]: https://github.com/nvm-sh/nvm.git -[2]: https://github.com/nvm-sh/nvm/blob/v0.39.6/install.sh +[2]: https://github.com/nvm-sh/nvm/blob/v0.39.7/install.sh [3]: https://app.travis-ci.com/nvm-sh/nvm -[4]: https://github.com/nvm-sh/nvm/releases/tag/v0.39.6 +[4]: https://github.com/nvm-sh/nvm/releases/tag/v0.39.7 [Urchin]: https://git.sdf.org/tlevine/urchin [Fish]: https://fishshell.com @@ -987,7 +987,7 @@ Here's what you will need to do: If one of these broken versions is installed on your system, the above step will likely still succeed even if you didn't include the `--shared-zlib` flag. However, later, when you attempt to `npm install` something using your old version of node.js, you will see `incorrect data check` errors. If you want to avoid the possible hassle of dealing with this, include that flag. - For more details, see [this issue](https://github.com/nodejs/node/issues/39313) and [this comment](https://github.com/nodejs/node/issues/39313#issuecomment-90.39.676) + For more details, see [this issue](https://github.com/nodejs/node/issues/39313) and [this comment](https://github.com/nodejs/node/issues/39313#issuecomment-90.39.776) - Exit back to your native shell. @@ -1014,7 +1014,7 @@ Now you should be able to use node as usual. If you've encountered this error on WSL-2: ```sh - curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.6/install.sh | bash + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0curl: (6) Could not resolve host: raw.githubusercontent.com diff --git a/install.sh b/install.sh index 819a68c616..40c1cdf6ab 100755 --- a/install.sh +++ b/install.sh @@ -33,7 +33,7 @@ nvm_install_dir() { } nvm_latest_version() { - nvm_echo "v0.39.6" + nvm_echo "v0.39.7" } nvm_profile_is_bash_or_zsh() { diff --git a/nvm.sh b/nvm.sh index 5b31f5c0c8..2e4378f2d2 100644 --- a/nvm.sh +++ b/nvm.sh @@ -4226,7 +4226,7 @@ nvm() { NVM_VERSION_ONLY=true NVM_LTS="${NVM_LTS-}" nvm_remote_version "${PATTERN:-node}" ;; "--version" | "-v") - nvm_echo '0.39.6' + nvm_echo '0.39.7' ;; "unload") nvm deactivate >/dev/null 2>&1 diff --git a/package.json b/package.json index 247af89145..bc264aad41 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nvm", - "version": "0.39.6", + "version": "0.39.7", "description": "Node Version Manager - Simple bash script to manage multiple active node.js versions", "directories": { "test": "test" From 6c9cd2f2d1779b91c0ab7ab0b243c0c55f25a8a5 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Fri, 15 Dec 2023 09:46:35 -0800 Subject: [PATCH 14/14] [security] fix typo in threat model --- .github/THREAT_MODEL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/THREAT_MODEL.md b/.github/THREAT_MODEL.md index 81ea16dce3..f5b3794255 100644 --- a/.github/THREAT_MODEL.md +++ b/.github/THREAT_MODEL.md @@ -11,7 +11,7 @@ The aim of this section is to facilitate the identification of potential securit The following assets are considered important for the `nvm` project: - `nvm` source code and project documentation - - Underlying `nvm`` dependencies + - Underlying `nvm` dependencies - `nvm` development infrastructure - `nvm` installed devices including servers