命令行上的Node.js版本?(不是REPL)


560

我想在命令行上获取Node.js的版本。我期望运行类似的命令:

node -version

但这不起作用。有人知道命令行是什么吗?(即不是REPL)


不同的答案提出了完全不同的问题。
鹰眼

1
是的,运行时问题适用于Node命令行,而不适用于Shell。当然,“命令行”可以指任何东西。
奥斯丁·穆林斯

7
检查node --help。但是,简而言之,全名选项需要2个破折号:node --version。单破折号开始一组的别名,所以-version联合收割机-v-e-r等-尽管只有7的3由节点识别。
Jonathan Lonowski

@JonathanLonowski:很高兴知道node --helpnode -h也可以)。但是,node不能支持分组的选项,你描述的方式; 如node -p -i作品(语法-为0.12,没有短选项组合,使语义意义),但node -pi结果在unrecognized flag/ bad option(0.12)的错误。
mklement0

可能对某人有帮助!
Irf,

Answers:


1024

命令行是:

node -v

要么

node --version

注意:

如果node -v不行,但是行得通,nodejs -v则说明您的系统上的某些设置不正确。有关解决方法,请参阅此其他问题


20
在2015年,这将不再有效。使用nodejs -v代替。
Andrew Thaddeus Martin

30
@AndrewThaddeusMartin node -v确实起作用。我正在使用今天提供的最新版本0.12.6。
yannick1976

对于最新版本,此功能无效,但仅适用于旧版本。
感谢

7
这在6.8.0中有效:>node -v v6.8.0 >node --version v6.8.0
琼斯医生

1
节点-v => v8.11.2 =>因此,这也适用于v8.11.2
ValentinGrégoire18年

81

如果您引用的是shell命令行,则可以使用以下两种方法之一:

node -v

node --version

仅仅键入node version将导致node.js尝试加载名为version的模块,除非您喜欢使用令人困惑的模块名称,否则该模块将不存在。


2
别客气。但是请注意,OP键入node -version,而不是node version。前者报告一个unrecognized flag/ bad option(0.12)错误,然后进入REPL,而后者确实试图加载一个不存在的文件,而无需进入REPL中止。@JonathanLonowski已经在对该问题的评论中指出了这一点,但让我在这里重复一下:node -hnode --help显示所有受支持的命令行选项。
mklement0

38

尝试 nodejs而不只是node

$ nodejs -v
v0.10.25

7
注意:node.js可执行文件(二进制文件)应为node,而不是nodejs。但是,在某些Linux发行版(例如,Ubuntu)上存在命名冲突,导致该可执行文件安装为nodejs。作为Ubuntu的14.04的,例如,apt-get install nodejs安装可执行文件node(如一个符号链接来实现nodejs)。换句话说:为了保持一致性,请首先尝试node -v
mklement0

12

如果要在命令提示符下签入,请使用node -v或node --version

v6.9.5

如果您有node.exe,则可以在node中给出。

>process
process {
  title: 'node',
  version: 'v6.9.5',
  .......

2
如果有node.exe,则>process.version仅显示版本而不显示完整的过程对象
JFK

11

节点

node --version 要么 node -v

npm

npm --version 要么 npm -v

V8引擎版本

node -p process.versions.v8


8

查找已安装的节点版本。

$ node --version

要么

 $ node -v

如果您想了解有关已安装节点的更多信息(例如,节点版本,v8版本,平台,env变量信息等)

然后做这个。

$ 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',
     ...

其中,流程对象是全局对象,可提供有关当前Node.js流程的信息并对其进行控制。


>process.version将仅显示版本而不显示完整的过程对象
JFK

5

默认情况下,节点包是nodejs,因此请使用

$ nodejs -v

要么

$ nodejs --version 

您可以使用以下链接

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

然后你可以使用

$ node --version

要么

$ node -v


4

只需npm version在命令行中键入,它将显示有关节点,npm,v8引擎等的所有版本详细信息。

在此处输入图片说明


1

如果您使用的是Atom编辑器,那么一个不错的提示。

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

它不仅会返回节点版本,还会返回其他一些内容。


1
apm -v会告诉您Atom使用的node和npm的版本。它不一定是一个,如果你使用的是命令行,这将是
你好宇宙

0

在运行Debian Stretch的Arm7(armhf)设备上,我必须发出以下任一命令:

$ nodejs -v
$ nodejs -h

以下无效:

$ node -v
$ node -h
$ apm -v

希望这对其他人有帮助。



0

你可以做

node --version

或简短的形式也可以

node -v

如果上述命令不起作用,则说明您在安装中做错了什么,请重新安装node.js并尝试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.