The command "npm config set spin false" failed and exited with 1 during

Hello,

I’m getting this error when using node v18 linux . (works on 16 and 14 and windows with version 18)

e[0K$ nvm install node
Downloading and installing node v18.0.0...
Downloading https://nodejs.org/dist/v18.0.0/node-v18.0.0-linux-x64.tar.xz...
Computing checksum with sha256sum
Checksums matched!
Now using node v18.0.0 (npm v)
travis_time:end:0cc244b0:start=1650457117026572710,finish=1650457121482625775,duration=4456053065,event=setup
e[0Ktravis_fold:end:nvm.install
e[0K
node: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node)
e[31;1mThe command "npm config set spin false" failed and exited with 1 during .e[0m

Your build has been stopped.
2 Likes

I am also getting this issue for iOS and Android builds.

I think this is a problem caused by the stable version update, I tried to reduce the version of nodejs to solve this problem.

I’m having the same problem, I think because the stable version of node is v18. It changed the 19th of April: Node.js 18 is now available! | Node.js

I fixed it by changing my travis.yml and specifying to use version 17:

node_js:
  - 17
1 Like

Hey there,

Please check recent v18.0.0 nightly builds require GLIBC_2.28 · Issue #42351 · nodejs/node · GitHub about the changes specifically node_js: 18.

Thanks

Hi, can someone describe this more, in terms of:
cause → effect → what happens over time → what should Travis end user do?

I have a .travis.yml for a build, and obviously I tried to keep it as generic and minimalist as possible. It has

dist: bionic
language: node_js
node_js: "stable"

The “stable” does raise questions about Node.js v18: Is someone going to fix something? It seems unfortunate that (for me) it is not stable, because the Node or Linux people did an “intentional” breaking change.

My file has another config

env:
  global:
    - NODE_ENV=development

Now this - Is this where I could improve things by not referring to “development” but “production”?

What I’m asking is, how can I be asked to code in a version like 17? If my project sits and does occasional builds for years, going forward - if I forget that I did this workaround - then I’m not running latest stuff, I’m not gaining the value of auto-updating, auto-dependencies, the slickness of Docker images etc. Thoughts about this? Thanks

Hi,

It was easy to get past the “intentional” breakage for node users. Sometimes info on these technical issues is not that visible or helpful, so I’m gonna describe it:

I was using the latest, greatest Travis build environment:
dist: bionic
(at least it was great up until Mar 15, 2022). It is a Linux 18.04 image as people have mentioned, ref: recent v18.0.0 nightly builds require GLIBC_2.28 · Issue #42351 · nodejs/node · GitHub. There I saw the comment: 18.10 and 20.04 should work

All I had to do was upgrade the build environment (Linux image used by Travis) to:
dist: focal
(which is a Linux 20.04 at the moment).

No other changes to .travis.yml. And that’s future proof, it’s all good. Best luck to you.

2 Likes

Thanks for posting this. Unfortunately, this configuration still broke with the same error about “npm config set spin false” for me. Downgrading to Node v16 (the previous LTS version) fixed things. Posting this in case it is helpful to others.

I just started seeing this for Node.js 19 with Focal, but Node.js 18 with Focal is fine. It’s unrelated to GLIBC; the reason for the error with Node.js 19 is that the spin configuration parameter no longer exists, and npm@9 includes this in the changelog:

npm config set will no longer accept deprecated or invalid config options
-npm v9.0.0 released - The GitHub Blog

For now, I will stop testing on Node.js 19.