node.js和node之间有什么区别?

111

我已经在我的电脑上(Linux Mint 15)安装了Node.js,当我运行node example.js时,它显示:

The program 'node' can be found in the following packages:
 * node
 * nodejs-legacy
Try: sudo apt-get install <selected package>

那么node和nodejs之间有什么区别呢?我之前都安装了node.js和node,但是当我运行node example.js时,Web服务器根本没有启动。所以我删除了node,只保留了node.js。

3个回答

160

包“node”与node.js无关。

你需要的是nodejs,但是为了兼容使用#!/usr/bin/env node脚本,将命令称为“node”可能更好。

您可以在路径中创建符号链接:

sudo ln -s `which nodejs` /usr/local/bin/node

或者您可以 安装 nvm,然后使用它来安装最新版本的 node.js:

nvm install stable

我更喜欢使用 nvm 方法,因为它允许您 sudo apt-get remove nodejs,然后自己管理要使用的 node 版本。您也可以安装多个 node.js 版本,并使用nvm use <version>轻松切换。

我还喜欢在我的.bashrc底部添加一行代码:nvm use stable > /dev/null。这将自动使用您安装的最新版本。

要将您的 node 版本更新为最新稳定版:nvm install stable。每次执行此操作时,如果您要继续使用全局安装的 npm 包,则需要重新安装它们。

要切换到旧版本,只需运行nvm use <version>或者,如果您尚未安装旧版本:nvm install <version>


28
实际上,nodejs-legacy软件包只包含符号链接(请参见https://lists.debian.org/debian-devel-announce/2012/07/msg00002.html)。 - someonr
1
非常有用和方便的是 nvm 软件包。 - Akshay Pratap Singh
在 JS 的世界中,人们经常提到 node。这种情况下,它是指 node.js 吗? - vikramvi
1
@vikramvi 是的,当你听到人们谈论node时,他们可能是指node.js;或者是浏览器中的DOM节点。 - Paul
将节点(node)和Node.js命名得如此相似的决定,可能是计算机历史上最愚蠢的命名决策之一。其中一个或两个都应该重新命名。 - niico

40

这篇答案是为了告诉您 Debian 操作系统上 nodenodejs 包的区别。

node

nodejs

  • Node.js 是一个基于 Chrome 的 JavaScript 运行时构建的平台,用于轻松构建快速、可扩展的网络应用程序。Node.js 使用事件驱动、非阻塞的 I/O 模型,使其轻巧高效,非常适合在分布式设备上运行的数据密集型实时应用程序。
  • 软件包详细信息链接:

13
nodenodejs之间的实际区别是什么? - Bono
2
我该如何用通俗易懂的语言理解这两者之间的区别? - mansoor.khan
4
两个包之间没有关联,所以简单的答案是它们不相关。Node.js 是一个现代的 JavaScript 服务器框架,通常用于提供各种服务和实时应用程序,而 Node 则是一个旧的业余无线电数据包传输框架。大多数安装将 shell 命令 "node" 符号链接到二进制文件 "nodejs",通常这样做是安全的,因为几乎没有使用 Node.js 的人会遇到与 "node" 冲突的问题。 - EddieOffermann
1
人节点 和 人节点js 在我的WSL Debian上产生完全相同的手册页面 嗯..... 没有提到业余无线电。 它们都谈论node.js。 - Craig Wilcox

4

有一个简单的答案。

  1. Node.JS脚本/代码
  2. Node 编译并运行 Node.JS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接