nvm icon indicating copy to clipboard operation
nvm copied to clipboard

nvm doesn't load nodejs v16.15.1

Open iTzVoko opened this issue 2 years ago • 4 comments

Operating system and version:

Linux localhost 3.10.61-8299335 #1 SMP PREEMPT Mon Dec 17 19:36:17 KST 2018 armv8l armv8l armv8l GNU/Linux

nvm debug output:

make[1]: *** [tools/v8_gypfiles/run_gen-regexp-special-case.target.mk:13: /root/.nvm/.cache/src/node-v16.15.1/files/out/Release/obj/gen/src/regexp/special-case.cc] Error 252    make[1]: *** Waiting for unfinished jobs....               rm 1cd53092da92343245362681778580af238f70c5.intermediate 6b3eb8c0a11bfa12b21a13a98c32785ea2628270.intermediate        make: *** [Makefile:113: node] Error 2                     nvm: install v16.15.1 failed!

(debug is too long)

nvm ls output:

->       system                                            iojs -> N/A (default)                                      node -> stable (-> N/A) (default)                          unstable -> N/A (default)                                  lts/* -> lts/gallium (-> N/A)                              lts/argon -> v4.9.1 (-> N/A)                               lts/boron -> v6.17.1 (-> N/A)                              lts/carbon -> v8.17.0 (-> N/A)                             lts/dubnium -> v10.24.1 (-> N/A)                           lts/erbium -> v12.22.12 (-> N/A)                           lts/fermium -> v14.20.0 (-> N/A)                           lts/gallium -> v16.16.0 (-> N/A)

How did you install nvm?

Using curl, from this tutorial: https://tecadmin.net/install-nodejs-with-nvm/

What steps did you perform?

It's up

What happened?

I typed nvm install v16.15.1 then I wait for half hour with a lot of log in terminal, and after all that Error installing nodejs v16.15.1.

What did you expect to happen?

I expect to work but it's not.

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

I don't know, I just follow the tutorial up ^

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...                             * TCP_NODELAY set                                          * Connected to nodejs.org (104.20.23.46) 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: Jan 11 00:00:00 2022 GMT                    *  expire date: Feb 11 23:59:59 2023 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 confirme)          * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0                                      * Using Stream ID: 1 (easy handle 0xf067238)               > 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, 07 Jul 2022 16:51:56 GMT                      date: Thu, 07 Jul 2022 16:51:56 GMT                        < content-type: text/html                                  content-type: text/html                                    < last-modified: Thu, 07 Jul 2022 16:20:09 GMT             last-modified: Thu, 07 Jul 2022 16:20:09 GMT               < cache-control: max-age=14400                             cache-control: max-age=14400                               < cf-cache-status: HIT                                     cf-cache-status: HIT                                       < expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"                  expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"                    < vary: Accept-Encoding                                    vary: Accept-Encoding                                      < server: cloudflare                                       server: cloudflare                                         < cf-ray: 727216724d861c3b-SOF                             cf-ray: 727216724d861c3b-SOF                               < content-encoding: br                                     content-encoding: br

<
* Connection #0 to host nodejs.org left intact

iTzVoko avatar Jul 07 '22 16:07 iTzVoko

What kind of machine do you have? What distro of linux?

As for that tutorial, it should not be recommending using master - use the latest released version in the readme ONLY.

ljharb avatar Jul 07 '22 18:07 ljharb

@ljharb Well I use UserLAnd App on PlayStore, and I use Linux ubuntu in it

iTzVoko avatar Jul 08 '22 16:07 iTzVoko

tbh I would never assume that a linux build on android would have the capacity to compile node in a performant way; it's just not a reasonable expectation.

That said, I'm not familiar with the "UserLAnd" app. Can you share a paste of the last few hundred lines of log output that includes the error?

ljharb avatar Jul 08 '22 17:07 ljharb

@ljharb looks like the problem here is the lack of mapping from armv8l to armv7l, I tried to run nvm in a 32-bit lxc conatiner on arm64 system, it started building nodejs as it tried to download https://nodejs.org/dist/v12.22.12/node-v12.22.12-linux-armv8l.tar.gz that doesn't exist, uname -m returns armv8l in such environment, so I guess the same happened to @iTzVoko. It's also reproducible with linux32 uname -m on an arm64 system. https://github.com/nvm-sh/nvm/blob/e6fa80cb6178ff4e9735265281b5eae811f05f11/nvm.sh#L1920 I believe there should also be armv8l) NVM_ARCH="armv7l" ;;

ilya-fedin avatar Nov 22 '22 08:11 ilya-fedin