733

I want to get the version of Node.js on the command line. I'm expecting to run a command like:

node -version 

but that doesn't work. Does anybody know what the command line would be? (i.e. not the REPL)

4
  • 1
    Yes, the runtime question works for the Node command line, not the shell. Of course, "command line" could refer to either thing. Commented Feb 15, 2013 at 5:01
  • 9
    Check node --help. But, in short, you need 2 dashes for full-name options: node --version. A single dash starts a group of aliases, so -version combines -v, -e, -r, etc -- though only 3 of the 7 are recognized by Node. Commented Feb 15, 2013 at 5:08
  • 1
    @JonathanLonowski: Good to know about node --help (node -h works too). However, node does not support grouping of options the way you describe; e.g., node -p -i works (syntactically - as of 0.12, no combination of short options makes sense semantically), but node -pi results in an unrecognized flag / bad option (0.12) error. Commented Mar 8, 2015 at 3:56
  • This may help somebody! Commented Jan 1, 2019 at 7:05

10 Answers 10

1259

The command line for that is:

node -v 

Or

node --version 

Note:

If node -v doesn't work, but nodejs -v does, then something's not set up quite right on your system. See this other question for ways to fix it.

Sign up to request clarification or add additional context in comments.

4 Comments

In the year 2015, this no longer works. Use nodejs -v instead.
@AndrewThaddeusMartin node -v does work. I'm using latest version available today which is 0.12.6.
This works in 6.8.0: >node -v v6.8.0 >node --version v6.8.0
node -v => v8.11.2 => So this works also for v8.11.2
88

If you're referring to the shell command line, either of the following will work:

node -v node --version 

Just typing node version will cause node.js to attempt loading a module named version, which doesn't exist unless you like working with confusing module names.

1 Comment

You're welcome. Note, however, that the OP typed node -version, not node version. The former reports an unrecognized flag / bad option (in 0.12) error and then enters the REPL, whereas the latter indeed tries to load a non-existent file, and aborts without entering the REPL. @JonathanLonowski has already stated it in a comment on the question, but let me repeat it here: node -h or node --help shows all supported command-line options.
41

Try nodejs instead of just node

$ nodejs -v v0.10.25 

1 Comment

Note: The node.js executable (binary) should be node, not nodejs. However, there was a naming conflict on some Linux distros (e.g., Ubuntu), resulting in the executable getting installed as nodejs. As of Ubuntu 14.04, for instance, apt-get install nodejs will also install executable node (implemented as a symlink to nodejs). In other words: For consistency, try node -v first.
35

Just type npm version in your command line and it will display all the version details about node, npm, v8 engine etc.

enter image description here

Comments

18

Repl Command to find the Nodejs Version

$node >process.version `v8.x` 

1 Comment

The question title literally says "NOT THE REPL"
16

Node:

node --version or node -v

npm:

npm --version or npm -v

V8 engine version:

node -p process.versions.v8 

Comments

11

find the installed node version.

$ node --version 

or

 $ node -v 

And if you want more information about installed node(i.e. node version,v8 version,platform,env variables info etc.)

then just do this.

$ node > process process { title: 'node', version: 'v6.6.0', moduleLoadList: [ 'Binding contextify', 'Binding natives', 'NativeModule events', 'NativeModule util', 'Binding uv', 'NativeModule buffer', 'Binding buffer', 'Binding util', ... 

where The process object is a global that provides information about, and control over, the current Node.js process.

1 Comment

>process.version will only show the version and not the full process object
5

By default node package is nodejs, so use

$ nodejs -v 

or

$ nodejs --version 

You can make a link using

$ sudo ln -s /usr/bin/nodejs /usr/bin/node 

then u can use

$ node --version 

or

$ node -v 

1 Comment

This naming inconsistency in some distros was already noted in a 2014 answer. stackoverflow.com/a/26622019
4

One cool tip if you are using the Atom editor.

$ apm -v apm 1.12.5 npm 3.10.5 node 4.4.5 python 2.7.12 git 2.7.4 

It will return you not only the node version but also few other things.

1 Comment

apm -v will tell you the version of node and npm that Atom is using. It may not necessarily be the one that will be if you are using the command line
3

On November 2023 this command is working perfect:

node -v 

Note date and time at the command prompt

Note date and time at the command prompt on this screen capture. So there's no ambiguity on node or nodejs. It seems it has been standardized long ago and it still works as shown here.

Node has some kind of an issue with its dependent frameworks and utilities and version management has been a must for me since it gained popularity. I often needed to review old code that didn't run on the version I was using at present time.

The solution was node version manager "nvm" you can install from github: https://github.com/nvm-sh/nvm this tool will inform you of your node version and will allow you to change it temporarily or as often as you need.

6 Comments

Please don't duplicate existing answers, unless you want to share new insights. If this is the case here, please add some more explanation to your answer such that others can learn from it
Nico, this is not the same answer. There are two main differences: 1. is a confirmation on that on 2023 november, the command is still working (not nodejs -v) 2. Proposal of nvm as a version manager. Or is it that you need more badges or reputation points??
Please add all clarification to your answer by editing it. And no, I don't gain any badge or reputation point
Still on the same? It doesn't provide any information that you can still use the same command seven years later? (some answers suggested there was a variation along time). And NVM is a wonderful tool to, not only get the current version, but manage what has been a long time node issue: some of their dependent utilities are version linked. And the question itself is about versioning, so why should NVM not be relevant.?
I was following someone's answers and finished here. I just tried to add my grain, but I'm at one step to delete it all. Writing at SO has become a time wasting experience, it doesn't make sense anymore.
|

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.