在Ubuntu 12.04上的nodejs vs node

我从这里给出的说明在Ubuntu上安装了nodejs

当我在terminal写入node --version ,我看到:
-bash: /usr/sbin/node: No such file or directory

不过,我可以看到/usr/sbin/目录中的节点。

npm --version显示1.3.5
编写nodejs --version显示v0.10.15

另外,我可以在/usr/bin/目录中看到节点。

那么,如何让node工作?

另外,如果我使用zsh而不是bash,那么node命令就起作用。

您需要手动创build符号链接/usr/bin/node 。 bash兼容shell的快捷方式:

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

或者,如果您使用非标准shell,只需对使用which nodejs查找的path进行硬编码which nodejs

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

稍后编辑

我在你发布的链接中find了这个解释

与节点包(业余分组无线节点程序)有一个命名冲突,并且节点js二进制已经从节点重命名为nodejs。 您需要将/ usr / bin / node符号链接到/ usr / bin / nodejs,否则您可以卸载业余无线分组无线节点程序以避免冲突。

稍后再编辑

我回答这个问题已经有一段时间了。 尽pipe我在这里发布的解决scheme已经为我多次工作,但用户在评论中报告了更多的解决scheme:

来自@ user229115

sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10

从AskUbuntu(用户leftium)

 sudo apt-get --purge remove node sudo apt-get --purge remove nodejs sudo apt-get install nodejs 

我认为是这样的:

 sudo update-alternatives --install / usr / bin / node node / usr / bin / nodejs 10

使用Debian的替代品。

Ubuntu的版本显然不同。 以下在Ubuntu 13.10上为我工作:

 sudo apt-get install nodejs-legacy 

HTH

我在Ubuntu 14.04有同样的问题。

我已经安装了“nodejs”,它的工作,但只有当我使用命令“nodejs”。 如果我尝试使用“节点”没有任何反应。

我用下面的方法解决了这个问题:

  1. 安装nodejs-legacy

      sudo apt-get install nodejs-legacy 

之后,当我在命令行键入“node”时,我得到一个错误信息“/ usr / sbin / node:没有这样的文件或目录”

  1. 其次,我做了什么,它是“nodejs”上的一个符号链接:

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

这也发生在我身上。

 node -v => 0.10.2 nodejs -v => 5.5.0 

问题是我前一段时间从源安装了节点。 运行

 which node 

总是指向这个本地安装。 也,

 echo NODE_PATH 

指向本地安装。

使用源代码安装删除目录没有帮助。 它只是打破了节点命令。 最后,取消设置NODE_PATH环境variables并清除然后重新安装nodejs就行了。

 unset NODE_PATH sudo apt-get --purge remove nodejs sudo apt-get install nodejs 

在这之后,

 node -v => 5.5.0 

和npm安装开始工作的软件包取决于Node => 5.0。

我对这一切都是陌生的,但对我来说,一个简单的别名工作:

 alias node='env NODE_NO_READLINE=1 rlwrap nodejs' 

至less用于在bash中直接运行东西并执行.js文件。

迟到的答案,但最新的信息…

如果使用节点github安装自述文件中的推荐方法来安装node.js,则build议遵循nodesource博客文章中的说明 ,而不是从过时的apt-get回购安装,node.js应该使用node命令以及nodejs命令,而不必创build新的符号链接。

这篇文章的方法是:

 # Note the new setup script name for Node.js v0.12 curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash - # Then install with: sudo apt-get install -y nodejs 

请注意,这是v0.12,在不久的将来可能会过时。

另外,如果你在公司代理的后面(像我一样),你需要将-E选项添加到sudo命令中,以保留代理所需的envvariables:

curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -

如何使用nodejs站点的官方说明

对于v7:

 curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - sudo apt-get install -y nodejs 

对于v6:

 curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y nodejs 

对于v4:

 curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y nodejs 

我已经testing了这些从Windows bash(通过Linux的子系统 – 14.04)和raspbian(基于ARM Debian的)。 在没有首先运行安装脚本的情况下运行sudo apt-get install -y nodejs会导致您获得节点0.10。

如果您打算安装需要构build的本地npm模块,请运行:

 sudo apt install -y build-essential 

注意:这是所有体系结构中基于Debian的发行版的推荐path。

节点版本pipe理器(nvm)

如果您想安装多个nodejs版本并轻松地在它们之间切换,我会build议使用Node Version Manger 。 它也解决了命名问题( node vs nodejs

这很简单:

安装一个nodejs版本:

 $ nvm install 4.4 

现在除了已安装的版本之外,还有nodejs 4.4,您可以使用node命令来访问新安装的版本:

 $ node -v // The new version added by nvm. v4.4.5 $ nodejs -v // The OS version is untouched and still available. v0.10.25 

您可以安装更多的nodejs版本并轻松地在它们之间切换:

 $ nvm install 6.2 $ nvm use 6.2 Now using node v6.2.1 (npm v3.9.3) $ node -v v6.2.1 $ nvm use 4.4 Now using node v4.4.5 (npm v2.15.5) 

添加到@ randunel的正确答案(还不能评论):

我也不得不把/ usr / local / bin /节点连接到/ usr / bin / nodejs。

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

显然,这是覆盖/ usr / bin / node命令。

不知道如何设定,但希望它可以帮助别人,因为这是一个痛苦,弄清楚为什么上述不适合我。

这适用于我:

 alias node=nodejs 

遵循此链接中的说明。

sudo ln -s / usr / bin / nodejs / usr / bin / node之后sudo npm install -g phantomjs-prebuilt

进展顺利

如果您在运行Ubuntu实例(在Ubuntu 16.x上testing)的AWS EC2实例上,那么这些步骤可能适用于您:

  sudo apt-get update
     sudo apt-get --purge删除节点-y
     sudo apt-get --purge删除nodejs -y
     sudo apt-get --purge删除legacy-node -y
     sudo rm / usr / bin / node
     curl -sL https://deb.nodesource.com/setup_6.x |  sudo bash  - 
     sudo apt-get install nodejs -y
    节点-v

如果一切正确,最后的命令应该有如下输出:v6.xx

如果没有,则运行以下命令:

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

希望这会有所帮助。 它神奇地帮助我(嘿嘿)。

安装nodejs的最佳方法是通过NVM(节点版本pipe理器)

删除以前的版本:

  $ sudo apt-get清除节点 
  $ sudo apt autoremove 

还要删除包含此文件夹的目录中的$ sudo rm -rf node_modules所有node_modules。

Node&Nodejs在技术上是一样的。 只是命名改变了。

首先安装或更新nvm

以root身份运行

  $ sudo su 

然后

  $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | 庆典 

要么

  $ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | 庆典 

检查nvmpath

  $ source〜/ .profile 
  $ nvm ls-remote 

如果你的列表出现错误,那么安装git。

  $ sudo apt-get install git 

重新运行:

  $ nvm ls-remote 

要么

  $ sudo nvm ls-remote 
  $ nvm install version-you-require 

检查版本

  #节点 - 版本 
  nvm使用版本你需要 

信息咨询:

  https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps 

我创build了一个符号链接,但它仍然无法正常工作。

我忘了重新启动我的terminal(我的腻子连接)。 之后我没有符号链接:)

将有助于绝对的初学者

虽然,你已经得到了答案,只是想指出node命令(没有任何参数)将以REPL read-eval-print-loop模式启动节点来执行原始的javascript代码。

另一种使用node命令的方法是通过提供一个js文件作为参数。 这是我们主要使用它的方式。

删除现有节点和nodejs是可选的,但必须另外安装最新的7.x nodejs。

 curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - sudo apt-get install -y nodejs