

They will often install NVM and Node.js as root user ( sudo su or become: true). In some cases, those packages may not be a LTS release and if you need multiple Node.js versions running on the same host, you're out of luck. This often means that the Node.js package is older than what is currently available via the Node.js repo. They use the apt-get or yum packages managers to install Node.js. Other Ansible roles that install NVM and/or Node.js fall short in a few areas. This stack overflow post explains some of the things other people have done to get around this particular issue. Update/Upgradeīefore we install NVM, let’s first make sure our operating system (and the included software) is up to date.Installs NVM & Node.js on Debian/Ubuntu and RHEL/CentOS systemsĪnsible weirdness with SSH and (non)interactive shells makes working with NVM and Ansible a bit problematic. You don’t even need Node.js installed, as you can take care of that task once you have NVM installed. I’ll demonstrate on Ubuntu Server 22.04, which means all you’ll need is a running instance of that distribution (or any Debian-based distro) and a user with sudo privileges. Let me show you how to install NVM on Linux. With NVM on board, you can easily switch between multiple versions of Node.js on a per-project basis, making certain you have all your bases covered. If your development platform of choice is Linux, you can always turn to the Node Version Manager (aka NVM). That can be a challenge because your operating system might not like the idea of installing more than one version of the language.įortunately, there’s a way around that. Why is this an issue? Sometimes you might need to build an app that works with an older version of Node.js and other times you might need the new features found in more recent iterations. However, during your career with Node.js, there’s one issue you might eventually run into… that of having to work with more than one version of Node. Okay, so it 's not nearly as simple as, say, Python, but it' s also much more flexible, powerful, and usable in a cloud- native world.
