nvm (Node Version Manager): Install Guide & Cheat Sheet

Avatar

By squashlabs, Last Updated: November 7, 2023

nvm (Node Version Manager): Install Guide & Cheat Sheet

Intro

“nvm” stands for Node Version Manager, and it is a tool that allows developers to easily manage multiple versions of Node.js on a single machine. Node.js is a JavaScript runtime that allows developers to run JavaScript code on the server-side, and it is widely used in web development for building server-side applications, APIs, and other back-end services.

One of the challenges of working with Node.js is that different projects may require different versions of Node.js, and sometimes these versions may not be compatible with each other. This can lead to conflicts and issues when trying to run multiple Node.js projects on the same machine.

This is where “nvm” comes in handy. It allows developers to easily switch between different versions of Node.js, install new versions, and manage dependencies associated with each version. “nvm” provides a simple command-line interface that allows developers to switch between Node.js versions with just a few commands, making it convenient and efficient to work with multiple Node.js projects that require different versions.

For example, if you have one project that requires Node.js version 12 and another project that requires Node.js version 14, you can use “nvm” to switch between these versions depending on which project you are working on. “nvm” also provides commands to list all installed Node.js versions, set a default version, and manage global and local Node.js packages.

In summary, “nvm” is a powerful tool that helps developers manage multiple versions of Node.js on a single machine, making it easier to work with different Node.js projects that require different versions, and avoiding conflicts and compatibility issues.

Related Article: How To Fix the 'React-Scripts' Not Recognized Error

Installation and First Steps

Here’s a comprehensive cheat sheet for using “nvm” (Node Version Manager) to manage multiple versions of Node.js on your machine:

1. Installing “nvm”

Open your terminal and run the following command to install “nvm” on your machine:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

Follow the on-screen instructions to complete the installation.

2. Managing Node.js versions

To install a specific version of Node.js, run the following command:

nvm install <version>

For example, to install Node.js version 14, you can run:

nvm install 14

To switch to a specific version of Node.js, run the following command:

nvm use <version>

For example, to switch to Node.js version 12, you can run:

nvm use 12

To set a default version of Node.js, run the following command:

nvm alias default <version>

For example, to set Node.js version 16 as the default version, you can run:

nvm alias default 16

To list all installed Node.js versions, run the following command:

nvm ls

Related Article: How To Use Loop Inside React JSX

3. Managing global and local packages

To install a package globally for a specific Node.js version, run the following command:

nvm exec <version> npm install -g <package>

For example, to install the “express” package globally for Node.js version 14, you can run:

nvm exec 14 npm install -g express

To install a package locally for a specific Node.js version, run the following command in your project directory:

nvm use <version>
npm install <package>

To list all global packages for the currently active Node.js version, run the following command:

nvm exec current npm list -g --depth=0

To list all local packages for the currently active Node.js version in your project directory, run the following command:

nvm use <version>
npm list --depth=0

4. Additional commands

To display the currently active Node.js version, run the following command:

nvm current

To display the default Node.js version, run the following command:

nvm alias default

To display the installed Node.js versions, including the currently active version, run the following command:

nvm ls

To uninstall a specific version of Node.js, run the following command:

nvm uninstall <version>

For example, to uninstall Node.js version 10, you can run:

nvm uninstall 10

To update “nvm” to the latest version, run the following command:

nvm upgrade

With this cheat sheet, you should now have a handy reference for using “nvm” to manage multiple versions of Node.js on your machine.

nvm on Ubuntu 22

Here is a general guide on how to install nvm (Node Version Manager) on Ubuntu:

Related Article: How To Upgrade Node.js To The Latest Version

Step 1: Update System Packages

Open a terminal and run the following command to update the system packages to the latest version:

sudo apt update

Step 2: Install Prerequisites

nvm requires some dependencies to be installed on your system. Run the following command to install these dependencies:

sudo apt install build-essential libssl-dev

Step 3: Download and Install nvm

You can download and install nvm using the curl or wget command. Choose one of the following options:

Option 1: Using curl

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

Option 2: Using wget

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

Note: You can check for the latest version of nvm by visiting the official GitHub repository: https://github.com/nvm-sh/nvm

Related Article: How To Fix Javascript: $ Is Not Defined

Step 4: Add nvm to Bash Profile

nvm needs to be added to your Bash profile to enable it every time you open a new terminal window. Run the following command to add nvm to your Bash profile:

echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bashrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.bashrc
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> ~/.bashrc

Step 5: Source Bash Profile

To apply the changes made in the Bash profile, run the following command:

source ~/.bashrc

Step 6: Verify nvm Installation

To verify that nvm has been successfully installed, run the following command:

nvm --version

You should see the version number of nvm, indicating that it has been installed successfully.

Related Article: Advanced Node.js: Event Loop, Async, Buffer, Stream & More

nvm on CentOS

Here are the step-by-step instructions to install nvm (Node Version Manager) on CentOS:

1. Open a terminal window on your CentOS system.

2. Install the required dependencies, including curl and git, by running the following command:

sudo yum install curl git

3. Download the nvm installation script from the official GitHub repository using curl:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

Note: You can check for the latest version of nvm on the official GitHub repository and replace the version number in the URL above accordingly.

4. The installation script will download and install nvm in your home directory (~/.nvm) and update your shell profile file (e.g., ~/.bashrc) to include nvm settings.

5. Close and reopen your terminal or run the following command to apply the changes to your current terminal session:

source ~/.bashrc

6. Verify nvm installation by running the following command:

nvm --version

You should see the version number of nvm, indicating that it has been successfully installed on your CentOS system.

With nvm installed, you can now easily manage Node.js versions on your CentOS system by using nvm commands, such as nvm install, nvm use, and nvm ls, among others. You can also set default Node.js versions, create aliases, and migrate global packages, as mentioned in the previous responses.

Note: Make sure to carefully follow the installation instructions and verify the compatibility of nvm with your CentOS version before proceeding with the installation. Always refer to the official nvm documentation for the most up-to-date and accurate installation instructions.

Advanced commands

Along with basic commands like installing, listing, and switching Node.js versions, nvm also provides several advanced commands that offer additional functionality. Here are some of the advanced commands of nvm:

1. nvm alias: This command allows you to create aliases for Node.js versions. You can give a custom name to a specific Node.js version, and then use that name instead of the version number in nvm commands. For example, you can create an alias default for a specific Node.js version, and then use nvm use default to switch to that version.

2. nvm which: This command displays the path of the currently active Node.js binary, which can be useful to verify the version of Node.js that is currently being used by your system.

3. nvm reinstall-packages: This command reinstalls global npm packages from the currently active Node.js version to another version. This can be useful when you switch to a different Node.js version and want to reinstall your global npm packages for that specific version.

4. nvm migrate: This command allows you to migrate global packages from one Node.js version to another. It can be useful when you switch to a new Node.js version and want to transfer your global npm packages from the previous version to the new one.

5. nvm version: This command displays the version of nvm that is currently installed on your system, allowing you to check for updates or verify the installed version.

6. nvm deactivate: This command deactivates the currently active Node.js version, allowing you to revert to the system-installed version of Node.js or switch to a different version managed by nvm.

7. nvm exec: This command allows you to execute a command with a specific Node.js version, without permanently switching to that version. It can be useful for running a command or script with a different Node.js version than the currently active one.

8. nvm unalias: This command allows you to remove an alias that you previously created using the nvm alias command. It can be useful when you no longer need a particular alias.

These are some of the advanced commands that nvm provides, offering additional flexibility and functionality for managing Node.js versions on your system. It’s worth exploring these commands and their usage in the nvm documentation to fully leverage the power of nvm for your Node.js development workflow.

Conclusion

nvm (Node Version Manager) is a powerful tool for managing Node.js versions and dependencies, making it easier for developers to switch between different Node.js versions, install and use specific versions of Node.js, and manage global and local packages. In this guide and cheat sheet, we have covered the installation process of nvm, basic commands for managing Node.js versions, as well as advanced commands for managing aliases, setting default versions, and migrating global packages.

By using nvm, developers can ensure that their Node.js applications are running on the desired version of Node.js, which is crucial for maintaining compatibility and stability. With its flexibility and ease of use, nvm has become a popular choice among Node.js developers for managing Node.js versions in development, testing, and production environments.

We hope this guide and cheat sheet has provided you with a comprehensive understanding of nvm and its usage. Whether you are a beginner or an experienced Node.js developer, nvm can greatly simplify your Node.js version management process and improve your workflow. Don’t forget to refer back to this cheat sheet whenever you need a quick reference for nvm commands.

Advanced DB Queries with Nodejs, Sequelize & Knex.js

Learn how to set up advanced database queries and optimize indexing in MySQL, PostgreSQL, MongoDB, and Elasticsearch using JavaScript and Node.js. Discover query... read more

Implementing i18n and l10n in Your Node.js Apps

Internationalization (i18n) and localization (l10n) are crucial aspects of developing Node.js apps. This article explores the process of implementing i18n and l10n in... read more

Big Data Processing with Node.js and Apache Kafka

Handling large datasets and processing real-time data are critical challenges in today's data-driven world. In this article, we delve into the power of Node.js and... read more

AI Implementations in Node.js with TensorFlow.js and NLP

This article provides a detailed look at using TensorFlow.js and open-source libraries to implement AI functionalities in Node.js. The article explores the role of... read more

Integrating Node.js and React.js for Full-Stack Applications

Setting up a full-stack application with Node.js and React.js can be a complex process. This article explores the integration of these two powerful technologies,... read more

Integrating HTMX with Javascript Frameworks

Integrating HTMX with JavaScript frameworks is a valuable skill for frontend developers. This article provides best practices for using HTMX with popular libraries such... read more