如何安装最新版本的 node.js?

jrg*_*jrg 177 compiling nodejs software-installation

如何在 Ubuntu 上安装最新的node.js?我环顾四周,什么也没找到。是否有 Ubuntu 包node.js,还是我必须自己编译?

jrg*_*jrg 250

根据 Node.js 网站

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

然后,您将拥有最新版本的 Node.js。

如果您不喜欢curl <url> | bash -,或者正在使用不受支持的发行版,您可以尝试手动安装

  • @James 我明白了。然而,说这些方向有缺陷是轻描淡写的(尽管你可以说几乎所有的 node.js)。虽然这并没有想象的那么糟糕(至少脚本是通过 https 提供的),但它仍然可能导致部分下载,因此 `rm -rf /usr/blah/blah` 可能会变成 `rm -rf /usr`。这通常是一件非常糟糕的事情,我不认为“这是开发人员提供的方向”是一个很好的借口。 (16认同)
  • -1 因为此解决方案涉及将 curl 管道输送到超级用户 shell。有人可以跟进一个不使用 curl bash 脚本添加存储库的解决方案吗? (14认同)
  • 我的问题是安装为 nodejs 而不是 node .. 所以如果在安装 nodejs 后,我无法将 nodejs 访问为“node”而是“nodejs” (4认同)
  • @nickguletskii 这是 [nodejs](https://github.com/nodesource/distributions#installation-instructions) 项目提供的方向。 (2认同)
  • @nickguletskii 相信我 - 我知道危险。这是一个坏主意,但只要开发人员支持作为安装方向,这就是我们必须处理的。 (2认同)

Jar*_*yer 40

Node 是更容易构建的项目之一。只需更改版本,因为它会继续更改。

浏览到http://nodejs.org/dist/latest/以找出最新的包版本。

cd /usr/local/src
wget http://nodejs.org/dist/latest/node-v7.2.1.tar.gz
tar -xvzf node-v7.2.1.tar.gz
cd node-v7.2.1
./configure
make
sudo make install
which node
Run Code Online (Sandbox Code Playgroud)

你应该看到/usr/local/bin/node

  • 对于可能关心的人,NPM 也将自动构建和安装。 (12认同)
  • 在使用 Node.js v0.10.30 的 Ubuntu 14.04 LTS 上进行测试,并且运行良好。要获取最新版本,请访问 http://nodejs.org/download/。查看所有版本:https://github.com/joyent/node/releases。 (2认同)

nic*_*kii 23

是的,转到 Synaptic,搜索“nodejs”。这些包位于 Universe 存储库中。如果您正在进行开发,我建议您安装所有以 nodejs 开头的软件包。

以防万一这不起作用:

sudo apt-get install g++ curl libssl-dev apache2-utils git-core
git clone git://github.com/joyent/node.git
cd node
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

这将下载 node.js 的源代码,制作并安装它。

  • 但是我更喜欢这个解决方案而不是`sudo apt-get install nodejs`,最后一个没有给你最新版本。 (2认同)

Cir*_*郝海东 18

NVM(节点版本管理器)

https://github.com/creationix/nvm

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh
nvm install --lts
nvm use --lts
npm install --global vaca
vaca
Run Code Online (Sandbox Code Playgroud)

由于必须为每个新 shell 进行采购,因此您可能希望将以下内容添加到您的.bashrc:

f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
  . "$f" &>'/dev/null'
  nvm use --lts &>'/dev/null'
fi
Run Code Online (Sandbox Code Playgroud)

好处:

  • 允许您使用多个版本的 Node 而无需 sudo

  • 类似于 Ruby RVM 和 Python Virtualenv,在 Ruby 和 Python 社区中被广泛认为是最佳实践

  • 在可能的情况下下载一个预编译的二进制文件,如果没有,它会下载源代码并为您编译一个

我们可以通过以下方式轻松切换节点版本:

nvm install 0.9.0
nvm install 0.9.9
nvm use 0.9.0
node --version
#v0.9.0
nvm use 0.9.9
node --version
#v0.9.9
Run Code Online (Sandbox Code Playgroud)


nmr*_*ony 16

由于这个问题有最新的词,NodeJS 最新版本是现在v0.12.2(截至今天),如果你想安装这个版本,你需要运行以下命令

# 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
Run Code Online (Sandbox Code Playgroud)

更新

NodeJS 发布了v5.8.0,我仍然没有ppa安装。所以我使用NVM安装它如下

首先安装 nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

然后安装 NodeJS v5.8.0

nvm install v5.8.0
Run Code Online (Sandbox Code Playgroud)

更新 2: 对于那些喜欢PPA 的人

https://github.com/nodesource/distributions#debinstall
Run Code Online (Sandbox Code Playgroud)


Gus*_*uss 10

一般来说,将 URL 中的任意数据加载到 root shell 会话中并不是一个好主意,我希望人们不要再兜售它作为解决所有问题的方法——“请运行我发送给你的这个脚本,同时我们也”重新开始 - 我有一个你可能有兴趣购买的桥梁”。

作为替代方案,这里是执行相同操作的“Ubuntu 方式”——这基本上是 Node Source 脚本自动执行的所有操作,但在这里您可以看到系统是如何更新的,并知道哪些存储库和哪些密钥添加到您的系统中配置:

apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280
apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main"
apt-get update
apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)

这是最新的(在撰写本文时)Nodejs 版本 7。对于 LTS 版本 (6),您应该添加的存储库 URL 是https://deb.nodesource.com/node_6.x. 其他版本也可以通过对 repo URL 的简单更改来获得 - 有关详细信息,请参阅 nodesource.com 文档。

请注意,如果您使用的是替代的 Ubuntu 发行版,例如 Trisquel,则该$(lsb_release -sc)命令可能不起作用,因此您必须将其替换为兼容的 Ubuntu 版本名称,例如xenial.


ser*_*inc 8

  1. nodejs官方存储库 (15.04) 中有一个-package。也考虑使用nodejs-legacyfornode命令。
  2. 要更新到最新版本,请使用n通过npm以下方式安装的软件包:

    sudo npm cache clean -f
    sudo npm install -g n
    sudo n stable
    
    Run Code Online (Sandbox Code Playgroud)

有关NVM 和 N 的比较,请参阅此 SO 问题


ahm*_*mdy 6

@jrg 的答案是正确的, Chris Lea 的Launchpad PPA 将不会提供支持Node.js v0.12。所以根据nodesource博客joyent/node中的帖子Node.jsFrom new安装最新版本nodesource PPA

第一的 :

curl -sL https://deb.nodesource.com/setup | sudo bash -
Run Code Online (Sandbox Code Playgroud)

该脚本将:

  1. 如果您已经在使用旧 PPA,请清除对旧 PPA 的引用
  2. 将 NodeSource 签名密钥添加到您的密钥环
  3. 将 deb.nodesource.com 添加到您的 APT 源
  4. 使用新源执行 apt-get 更新

然后安装Node.js

sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

更新:根据nodesource 博客中的帖子

安装nodejs版本0.12.X

你需要运行命令:

curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
Run Code Online (Sandbox Code Playgroud)

安装nodejs版本0.10.X

你需要运行命令:

curl -sL https://deb.nodesource.com/setup_0.10 | sudo bash -
Run Code Online (Sandbox Code Playgroud)

然后

sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)


HEX*_*ube 6

安装 snap 包

在 Ubuntu 上安装 Node.js 的最简单方法是使用 snap 包。只需在Ubuntu 软件商店搜索 node并安装第一个。

Ubuntu 软件上的 Node.js

或者,如果您更喜欢命令行:

sudo snap install node --classic 
Run Code Online (Sandbox Code Playgroud)

替代方法:NVM

如果由于某种原因不能使用快照,比如在 WSL 环境中,节点版本管理器(NVM) 是可行的方法。这比将 Ubuntu 中的 node 包升级到来自 PPA 或 3rd 方存储库的不受支持的版本更安全,这可能会导致 apt 包管理系统发生冲突或损坏。与 NVM 相比,从 tarball 手动安装更难维护和升级。按照以下步骤使用 NVM 安装最新节点:

  1. 安装 NVM

    终端中运行此命令:

    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装节点

    NVM 安装完成后,关闭并重新打开Terminal。然后运行这个命令:

    nvm install node
    
    Run Code Online (Sandbox Code Playgroud)
  3. 检查节点版本

    运行这些命令:

    node --version
    npm --version
    
    Run Code Online (Sandbox Code Playgroud)

如果一切顺利,您将看到最新的 node 和 npm 版本作为输出。就是这样,节点已安装并准备运行!