List of supported Node JS versions?

Is there a list of NodeJS versions that Netlify supports? I thought they would support all LTS versions of NodeJS but that doesn’t appear to be the case. It always feels like a guessing game when updating dependencies on my sites, and figuring out which NodeJS version plays nice with both Netlify and updated dependencies. An active list of supported versions would be helpful, but I have been unable to locate such a thing.

Example: I just deployed a new site and specified

[build.environment]
NODE_VERSION = “12.18.3”

in my netlify.toml file with no joy (Failed to install node version ‘12.18.3’). This is the latest LTS version of NodeJS 12 (last time I tried I couldn’t update to NodeJS 13 or 14 on Netlify yet).

Any guidance on this subject would be appreciated <3

UPDATE
Now 12.18.3 is working fine. I am not sure what changed but now its okay shrug

hi there,

the default version of node that is currently active can be seen here, in the github repo for the build image:

We also allow manual setting of any major version:

hope this helps!

Node version 10 is just about out the window. I use 14.4.0 on my computer. My site needs 12.13.0+. So right now, because Netflify is using Node.js 10 for my site. I can’t deploy any changes. That means that I probably will have to find another hosting service for my site. Unless this can be immediately rectified. Thanks. I have posted my issue under Support in the forum, but now at least my question has been answered. It is a Netlify issue and not my issue.

hi there, i responded to your other thread - as mentioned above, there is a default version, but you can absolutely set things up to use the node version you need.

And how do you do that? I have not found any documentation that would tell me how to do it.

hi there, as posted above, this is the link to our docs on how you can do this. Maybe you can’t see it for some reason?

https://docs.netlify.com/configure-builds/manage-dependencies/#node-js-and-javascript

The short version is:

  • Set a NODE_VERSION environment variable.

OR

  • Add a .node-version or .nvmrc file to the site’s base directory in your repository. This will also tell any other developer using the repository which version of Node.js it depends on.

but more details are available under that URL in our docs.

Sorry, i did not see that you shared info. have just been so frustrated trying to find answers. Am looking into it right now. Hopefully the .nvmrc file will work. Thanks!

Unfortunately, there is a bigger issue going on with my site. There are conflicts between Gatsby dependencies and netlify-cms dependencies/requirements. I have researched this, and at this time there is no fix. I also unfortunately cannot rectify this until May. So I don’t have a real working site until I refactor at that time. It seems that sass related issues are breaking my build when I deploy, and it points back according to repository issues I come across to the netflify cms, which I have highly depended on.

Here is some unsolicited advice based on my own personal experiences:

I had some issues with Netlify CMS (long ago) and I switched to Forestry. I haven’t regretted it. Honestly do yourself a favor and switch. You’ll have fewer headaches. Tina CMS also looks super-duper (made by the folx at Forestry), but I haven’t personally tried it on a project yet.

Sass is also a headache, it noticeably slows down build time and dev environment. I ditched Sass in favor of Tailwind CSS + Post CSS. Seriously. It’ll change your life.

Hi JillyBean. Thanks for your advice. I will definitely check it out. However, I need just a quick fix right now which I am testing out at the moment. No time for an overhaul until towards the end of May. Unfortunately. But I do agree. Thanks!

The trouble seems to be that there is no single source of truth for node engine version.
the ones that come to mind are:

  • package.json
  • .nvmrc
  • netlify env vars

suppose that all of these had some value. which would win?

I plan to remove all node version config, and add back only the one(s) needed.
In this instance…

  1. remove .nvmrc which had old node version: fail
  2. tried nvm expression in netlify env var >=12.13.0: fail
  3. revised netlify var 12.13.0

…and will later remove that netlify var to centralize configs.

3:03:05 PM: Attempting node version '>=12.13.0' from .nvmrc
3:03:06 PM: Version '>=12.13.0' not found - try `nvm ls-remote` to browse available versions.
3:03:06 PM: Failed to install node version '>=12.13.0'
3:03:06 PM: Build was terminated: Build script returned non-zero exit code: 1

howdy monte, just a quick note that we haven’t forgotten about this, and are discussing this internally. more soon!

IIRC, I believe it’s UI env var, netlify.toml env var and then .nvmrc as an order of precedence. I don’t think expressions work, either, so it’s just an explicit version you’ll want to add!

1 Like