Documenting your Rails project's Node.js version in .nvmrc

Updated . Posted . Visible to the public. Repeats.

Not all versions of Node.js are compatible with each other. Also npm packages may require a minimum or maximum version of Node.js. We use nvm on our development PCs so we can operate multiple versions of Node.js in parallel.

To make sure that all developers use a compatible version of Node.js, your Rails project should declare the required Node.js in a file called .nvmrc.

When a .nvmrc exists, developers can cd in your project directory and activate the project's node version with

nvm use

You may want to automatically activate a Node version as you cd into a directory. We have a card about automatically switch version when changing directories which provides a solution that works very well for us.

Picking the right Node version

We prefer using one of Node's LTS release lines Show archive.org snapshot , as they get minor updates over some year.

For example, if we want to use Node 20 LTS, we would look up its latest release and fill in:

v20.11.1

Warning

Don't use a nondeterministic version like lts/gallium. This is not supported by all tools. In particular asdf Show archive.org snapshot is sunsetting its support for LTS aliases.

Testing compatibility

In general, a recent Rails projects should use the currently active LTS version of LTS.

If you are unsure about compatibility, these two commands should work:

yarn
rake assets:precompile
Henning Koch
Last edit
Arne Hartherz
Keywords
opscomplete:nodejs:ensure
License
Source code in this card is licensed under the MIT License.
Posted by Henning Koch to makandra dev (2019-06-17 16:20)