我根据这里给出的说明在ubuntu上安装了nodejs

当我在终端中写入node——version时,我看到: -bash: /usr/sbin/node:没有这样的文件或目录

不过,我可以在/usr/sbin/目录中看到node。

编写npm——版本显示为1.3.5 编写nodejs——version显示v0.10.15

此外,我可以在/usr/bin/目录中看到node。

那么,我如何让节点工作呢?

此外,如果我使用zsh而不是bash,那么节点命令就可以工作。


当前回答

节点版本管理器(nvm)

如果你想安装多个nodejs版本,并在它们之间轻松切换,我建议使用节点版本管理器。它还解决了命名问题(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)

其他回答

https://nodejs.org/en/download/

Download .pkg file on your mac and install it. it directly works.

➜  ~ which node
/usr/local/bin/node
➜  ~ node --version
v10.11.0
➜  ~ which npm
/usr/local/bin/npm
➜  ~ npm --version
6.4.1

如果你在AWS EC2实例上运行Ubuntu实例(在Ubuntu 16.x上测试),那么这些步骤可能对你有用:

    sudo apt-get update
    sudo apt-get --purge remove node -y
    sudo apt-get --purge remove nodejs -y
    sudo apt-get --purge remove 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
    node -v

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

如果不是,那么执行以下命令:

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

希望这能有所帮助。它神奇地帮助了我(呵呵)。

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

我还必须将/usr/local/bin/node符号链接到/usr/bin/nodejs。

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

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

不知道这是如何设置的,但希望它能帮助其他人,因为弄清楚为什么上面的方法对我不起作用是一种痛苦。

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

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

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

如果您使用node github安装自述me中的推荐方法安装node.js,建议遵循nodesource博客文章中的说明,而不是从过期的apt-get repo安装,node.js应该使用node命令和nodejs命令运行,而不必创建新的符号链接。

文中的方法是:

# 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的,在不久的将来,v0.12可能会过时。

另外,如果你使用的是公司代理(就像我一样),你需要在sudo命令中添加-E选项,以保留代理所需的env vars:

curl - sl https://deb.nodesource.com/setup_0.12 | sudo - e bash - .