How to choose and set the Node version for your Render service

Choose the right node version for your Render app

ยท

2 min read

Recently, I worked on a project using Astro. Once the project was up and running, I chose to connect the repo to Render so I could publicly view and share my progress.

I hosted a VueJS static site on Render, ihwiki - a collaborative knowledge base for indie hackers, and it all worked great with little or no issue. I expected the process to go smoothly with Astro, but it did not. After countless trials and errors, I decided to read the error log to trace the issue. I discovered that the Render's default node version does not support Astro.

This article will show you the different ways you can set the version of node you want to use for your web application on Render if you do not want to use the default.

The possible ways are:

  • Set NODE_VERSION as an environmental variable.

  • Create a .node-version file in your root directory.

  • Create a .nvmrc file in your root directory.

  • Specify engine in package.json.

Let's get started.

Set NODE_VERSION as an environmental variable

By default, Render uses 14.17.0.

Create an environmental variable NODE_VERSION in the project you want to use, then input the value of the node version you want to work with.

Setting the NODE_VERSION environment variable

Create a .node-version file in your root directory

In the root directory of your project, create a file called .node-version with no file extension attached.

Type the same node version you want to work with as specified in the environmental variable.

18.18.0

Create a .nvmrc file in your root directory

Once that is done, create a .nvmrc file in your root directory, just like the previous file.

It is also in the same format; type the specific version you want.

Specify engine in package.json

Open your package.json file then add engines property to specify the node version you want to work with.

"engines": {
  "node": ">=18.18.0 <19.0.0"
}

Render uses any package.json file found in the subdirectories if it is not available in the root directory.

Wrap!

You can follow any of those ways to set the node version you want for your Render service.

One bonus thing you can do is set your build command to npm install && npm run build, just to make sure the packages are installed before building.

See you at the next one! ๐Ÿค

ย