Repository: nvm
Issue: cannot install nvm in Linux failing with `EXIT_CODE=3`
Labels: needs followup,installing nvm

<!-- Thank you for being interested in nvm! Please help us by filling out the following form if you‘re having trouble. If you have a feature request, or some other question, please feel free to clear out the form. Thanks! -->

#### Operating system and version:

`uname` : 'Linux worker-1799330 5.15.0-71-generic #78~20.04.1-Ubuntu SMP Wed Apr 19 11:26:48 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux'
`OS`: "Ubuntu 20.04.5 LTS (Focal Fossa)"

#### `nvm debug` output:

`N/A`

#### `nvm ls` output:

`N/A`

#### How did you install `nvm`?
<!-- (e.g. install script in readme, Homebrew) -->

Install script in readme

```bash
export NVM_DIR="$HOME/.nvm" && (
  git clone https://github.com/nvm-sh/nvm.git "$NVM_DIR"
  cd "$NVM_DIR"
  git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`
) && \. "$NVM_DIR/nvm.sh"

```

and

```bash
curl -sS -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
export NVM_DIR="$HOME/.nvm"
set +x  # Disable xtrace because output using nvm.sh is huge.
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
```

#### What steps did you perform?

#### What happened?

nvm installation failed with the below error:

<details>
<!-- do not delete the following blank line -->

```
++++++ NVM_UNAME='Linux worker-1799330 5.15.0-71-generic #78~20.04.1-Ubuntu SMP Wed Apr 19 11:26:48 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux'
++++++ local NVM_OS
++++++ case "${NVM_UNAME}" in
++++++ NVM_OS=linux
++++++ nvm_echo linux
++++++ command printf '%s\n' linux
+++++ '[' _linux = _win ']'
++++++ nvm_version_path iojs-v16.20.0
+++++ '[' -x /var/lib/buildkite-agent/.buildkite-agent/builds/workspace/.nvm/versions/io.js/v16.20.0/bin/node ']'
+++++ return 1
+++++ '[' '' = true ']'
+++++ '[' -z '' ']'
+++++ nvm_echo N/A
+++++ command printf '%s\n' N/A
+++++ return 3
++++ VERSION=N/A
++++ '[' -z N/A ']'
++++ '[' _N/A = _N/A ']'
++++ nvm_echo N/A
++++ command printf '%s\n' N/A
++++ return 3
+++ VERSION=N/A
+++ unset NVM_RC_VERSION
+++ '[' -z N/A ']'
+++ '[' -z N/A ']'
+++ '[' _N/A = _system ']'
+++ '[' _N/A = $'_\342\210\236' ']'
+++ '[' N/A = N/A ']'
+++ '[' 1 -ne 1 ']'
+++ return 3
+++ EXIT_CODE=3
+++ set -e
+++ return 3
```
</details>

#### What did you expect to happen?

Either installing it or let me know what's the error about 🙏 

#### Is there anything in any of your profile files that modifies the `PATH`?
<!--  (e.g. `.bashrc`, `.bash_profile`, `.zshrc`, etc) -->

None

<!-- Please remove the following section if it does not apply to you -->
#### If you are having installation issues, or getting "N/A", what does `curl -I --compressed -v https://nodejs.org/dist/` print out?
<details>
<!-- do not delete the following blank line -->

```sh
$ curl -I --compressed -v https://nodejs.org/dist/
*   Trying 2606:4700:10::6814:162e:443...
* TCP_NODELAY set
* Connected to nodejs.org (2606:4700:10::6814:162e) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=*.nodejs.org
*  start date: Feb  3 00:00:00 2023 GMT
*  expire date: Mar  5 23:59:59 2024 GMT
*  subjectAltName: host "nodejs.org" matched cert's "nodejs.org"
*  issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55ca93f40320)
> HEAD /dist/ HTTP/2
> Host: nodejs.org
> user-agent: curl/7.68.0
> accept: */*
> accept-encoding: deflate, gzip, br
> 
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
< HTTP/2 200 
HTTP/2 200 
< date: Thu, 25 May 2023 06:42:00 GMT
date: Thu, 25 May 2023 06:42:00 GMT
< content-type: text/html
content-type: text/html
< cache-control: public, max-age=14400, s-maxage=14400
cache-control: public, max-age=14400, s-maxage=14400
< last-modified: Thu, 25 May 2023 06:35:04 GMT
last-modified: Thu, 25 May 2023 06:35:04 GMT
< cf-cache-status: HIT
cf-cache-status: HIT
< vary: Accept-Encoding
vary: Accept-Encoding
< strict-transport-security: max-age=31536000; includeSubDomains; preload
strict-transport-security: max-age=31536000; includeSubDomains; preload
< x-content-type-options: nosniff
x-content-type-options: nosniff
< server: cloudflare
server: cloudflare
< cf-ray: 7ccbcbbe299cd97b-HEL
cf-ray: 7ccbcbbe299cd97b-HEL
< content-encoding: br
content-encoding: br

< 
* Connection #0 to host nodejs.org left intact
```
</details>