Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NVM installer throws "/usr/bin/env: ‘node’: No such file or directory" #3462

Open
knackstedt opened this issue Nov 11, 2024 · 4 comments
Labels
installing nvm Problems installing nvm itself needs followup We need some info or action from whoever filed this issue/PR.

Comments

@knackstedt
Copy link

knackstedt commented Nov 11, 2024

Operating system and version:

NAME="Pop!_OS"
VERSION="22.04 LTS"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 22.04 LTS"
VERSION_ID="22.04"
HOME_URL="https://pop.system76.com"
SUPPORT_URL="https://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=jammy
UBUNTU_CODENAME=jammy
LOGO=distributor-logo-pop-os

nvm debug output:

N/A

nvm ls output:

N/A

How did you install nvm?

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

What steps did you perform?

I did only the install

What happened?

There was an error in stdout.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16563  100 16563    0     0   182k      0 --:--:-- --:--:-- --:--:--  183k
=> nvm is already installed in /home/knackstedt/.nvm, trying to update using git
=> => Compressing and cleaning up git repository

=> nvm source string already in /home/knackstedt/.bashrc
=> bash_completion source string already in /home/knackstedt/.bashrc
/usr/bin/env: ‘node’: No such file or directory
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

What did you expect to happen?

No errors and the install to proceed.

Is there anything in any of your profile files that modifies the PATH?

If you are having installation issues, or getting "N/A", what does curl -I --compressed -v https://nodejs.org/dist/ print out?

*   Trying 104.20.23.46:443...
* Connected to nodejs.org (104.20.23.46) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* 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.2 (OUT), TLS header, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* 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 28 00:00:00 2024 GMT
*  expire date: Mar 30 23:59:59 2025 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 multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* Using Stream ID: 1 (easy handle 0x5adf80e1deb0)
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
> HEAD /dist/ HTTP/2
> Host: nodejs.org
> user-agent: curl/7.81.0
> accept: */*
> accept-encoding: deflate, gzip, br, zstd
> 
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
< HTTP/2 200 
HTTP/2 200 
< date: Mon, 11 Nov 2024 13:50:16 GMT
date: Mon, 11 Nov 2024 13:50:16 GMT
< content-type: text/html
content-type: text/html
< cache-control: public, max-age=3600, s-maxage=14400
cache-control: public, max-age=3600, s-maxage=14400
< last-modified: Mon, 11 Nov 2024 12:35:04 GMT
last-modified: Mon, 11 Nov 2024 12:35:04 GMT
< cf-cache-status: HIT
cf-cache-status: HIT
< age: 4489
age: 4489
< 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: 8e0ec0162c281141-ORD
cf-ray: 8e0ec0162c281141-ORD
< content-encoding: br
content-encoding: br

< 
* Connection #0 to host nodejs.org left intact
@knackstedt
Copy link
Author

The installation succeeded. It took me longer than I'd like to admit to realize my shell was broken because my path was too long.
Still, the error printed in the log should be addressed.

@ljharb
Copy link
Member

ljharb commented Nov 11, 2024

If the PATH can’t be updated to find node, then that error is certainly expected - i suppose we could detect the PATH length and print a better message, but i didn’t even realize that was a thing that could break :-) how long was your PATH?

@ljharb ljharb added needs followup We need some info or action from whoever filed this issue/PR. installing nvm Problems installing nvm itself labels Nov 11, 2024
@knackstedt
Copy link
Author

Well my path ended up getting a ton of duplicates because I was testing a script to install webassembly3 which ended up running source .bashrc many times on the same TTY. This ends up adding duplicate entries into the PATH var which seems to have made things freak out in general (though I might be following a ghost at this point)

I'm not totally sure why nvm is trying to write to that path, as an nvm install on a different device (roughly same OS version) went fine and I didn't see that message. It's very possible that something on my current install is just wonky... I had to do some boot rescues recently so maybe that would slay these demons 😅

@ljharb
Copy link
Member

ljharb commented Nov 12, 2024

nvm works solely by modifying the PATH - like, that's the main way it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
installing nvm Problems installing nvm itself needs followup We need some info or action from whoever filed this issue/PR.
Projects
None yet
Development

No branches or pull requests

2 participants