504

I have installed nvm (ubuntu with zsh shell) with two node version: v6.11.5 and v9.0.0 and the default version in nvm is the v9.0.0

Every time I need to change the node version

$ nvm list
         v6.11.5
->       v9.0.0
         system
default -> node (-> v9.0.0)
node -> stable (-> v9.0.0) (default)
stable -> 9.0 (-> v9.0.0) (default)


$ nvm v6

How could I change the nvm version default to define v6.11.5?

Rick Davies
  • 655
  • 9
  • 22
Pablo Ezequiel Inchausti
  • 6,869
  • 4
  • 23
  • 37

9 Answers9

1026

(nvm maintainer here)

nvm alias default 6.11.5 if you want it pegged to that specific version.

You can also do nvm alias default 6.

Either way, you'll want to upgrade to the latest version of nvm (v0.33.11 as of this writing)

LJHarb
  • 12,303
  • 2
  • 26
  • 34
  • 1
    Addition: alias works as long as you're not installing new versions. After installing a new node the node will be your current node to use. So if you want to prevent this behavior you have to explicitly set up nvm alias default desiredVersionOfNode after each installation or just reopen a terminal. – daGo Sep 22 '19 at 05:39
  • 37
    Use `nvm alias default node` to make the "latest" the default. – Ryan Wheale Mar 24 '20 at 21:35
  • Is anyone else finding that "nvm alias default 10.17.0" isn't recognised as a command ? nvm just gives me a list of available options... it just doesn't seem to do anything (and my "ng -v" continues to use the wrong, older, version of node.js) – Mike Gledhill Mar 27 '20 at 10:13
  • @MikeGledhill are you sure you're using nvm proper? If you're using `nvm-windows`, that's an entirely different project. Actual `nvm` requires WSL to work on windows. – LJHarb Mar 28 '20 at 21:25
  • 14
    Doing `nvm alias default` doesn't do anything. The tag "default" changes, but a new shell is still using the not-desired-version. I found that uninstalling not needed versions works. – Jari Turkia May 29 '20 at 06:30
  • 1
    nvm alias default v12.13.1 not set the version as default – sejn Jun 08 '20 at 13:14
  • 3
    `nvm alias default node` to use the latest version of Node installed on your computer. Remember to use `nvm use node` (or whatever Node version you want to use) after the first command to actually change the version. My example (I was using version 13 as default, but having 15 on machine and wanting to set default to latest version of Node): `nvm alias default node` `nvm use node` was like using (in my case): `nvm alias default 15` `nvm use 15` – mpoletto Apr 07 '21 at 17:15
67

Lets say to want to make default version as 10.19.0.

nvm alias default v10.19.0

But it will give following error

! WARNING: Version 'v10.19.0' does not exist.
default -> v10.19.0 (-> N/A)

In That case you need to run two commands in the following order

# Install the version that you would like 
nvm install 10.19.0

# Set 10.19.0 (or another version) as default
nvm alias default 10.19.0
Dipesh Yadav
  • 825
  • 8
  • 5
16

This will set the default to be the most current version of node

nvm alias default node

and then you'll need to run

nvm use default

or exit and open a new tab

alltozall20381
  • 189
  • 1
  • 2
  • 2
    Asked for node 6, your solution will choose the last node stable version to use. So it will not use specific 6 version – MathKimRobin Sep 09 '20 at 21:52
  • Even though this is pretty useful, this doesn't answer the question at all. – Louis-Jacob Lebel Feb 15 '21 at 13:38
  • This gave me a message "Your user’s .npmrc file (${HOME}/.npmrc) has a `globalconfig` and/or a `prefix` setting, which are incompatible with nvm. Run `nvm use --delete-prefix v15.13.0` to unset it." I ended up running the suggested command and it worked. – Nic Scozzaro Apr 01 '21 at 05:50
11

You can also like this:

$ nvm alias default lts/fermium
August Gong
  • 131
  • 1
  • 5
7

If you want to switch only for once use this

nvm use 12.x

Else if you want to switch the default node version then use

nvm use default 12.x or nvm alias default 12.x
3

The current answers did not solve the problem for me, because I had node installed in /usr/bin/node and /usr/local/bin/node - so the system always resolved these first, and ignored the nvm version.

I solved the issue by moving the existing versions to /usr/bin/node-system and /usr/local/bin/node-system

Then I had no node command anymore, until I used nvm use :(

I solved this issue by creating a symlink to the version that would be installed by nvm.

sudo mv /usr/local/bin/node /usr/local/bin/node-system    
sudo mv /usr/bin/node /usr/bin/node-system 
nvm use node
  Now using node v12.20.1 (npm v6.14.10)
which node
  /home/paul/.nvm/versions/node/v12.20.1/bin/node
sudo ln -s /home/paul/.nvm/versions/node/v12.20.1/bin/node /usr/bin/node

Then open a new shell

node -v
  v12.20.1
Paul Weber
  • 6,472
  • 3
  • 36
  • 49
2

Alert: This answer is for MacOS only

Let suppose you have 2 versions of nodeJS inside your nvm, namely v13.10.1 & v15.4.0

And, v15.4.0 is default

> nvm list
       v13.10.1
->      v15.4.0
         system
default -> 15.4.0 (-> v15.4.0)

And, you want to switch the default to v13.10.1

Follow these steps on your Mac terminal:

  1. Run the command:

    nvm alias default 13.10.1

This will make the default point to v13.10.1 as...

default -> 13.10.1 (-> v13.10.1)
  1. Open new instance of terminal. Now check the node version here as...

node -v

You will get...

v13.10.1
  1. nvm list will also show the new default version.

    nvm list

Just an info: The NodeJS versions taken as example above will have their different npm versions. You can cross-verify it in terminal by running npm -v

Rishabh
  • 29
  • 3
1

#Worked for me 100% Follow this for default node version:

nvm install 12.13.1 then, nvm alias default 12.13.1

Rajbir
  • 21
  • 7
0

change the default node version with nvm alias default 10.15.3 *

(replace mine version with your default version number)

you can check your default lists with nvm list

Yuto
  • 79
  • 5