如何安装最新版本的NodeJS和NPM?


203

我在https://nodejs.org/网站上注意到该节点当前位于v 0.12.0。

有人可以让我知道如何与npm(请使用终端命令)一起安装最新版本的node吗?


1
这有什么错sudo apt-get install nodejs
AlikElzin-kilaka

20
^它安装了1.10.0。
Siliconrockstar '16

6
@siliconrockstar在我的14.04 LTS上实际安装了v0.10.25
Alessandro Cosentino

1
在ubuntu 16中使用sudo apt-get install nodejs-legacy
briankip

Answers:


253

全新安装

使用NodeSource PPA。有关详细信息,请参阅安装说明。首先,选择所需的Node.js版本并为其添加源:

v=8   # set to 4, 5, 6, ... as needed
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash -

然后安装Node.js包。

sudo apt-get install -y nodejs

PS:curl必须将这些代码行的软件包安装在服务器上。

升级中

如果您nodejs已经安装并想要更新,请先删除当前安装,然后使用上述脚本再次安装。

sudo apt-get purge nodejs npm

1
NodeSource使用两个单独的PPA:一个用于0.10.X版本,一个用于0.12.X。此外,它还包含最后一个npm软件包。
23W

11
没有为我工作。运行后curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -然后安装nodejs我结束了v0.10
Daithí

46
卷入根壳在许多方面都是错误的。
Draco Ater

8
下面的格斯答案应该是公认的答案。不建议这样做。
Patrick Fabrizius

2
@AlexanderMills下面提供的答案(askubuntu.com/a/711976/389358)将为您提供来自NodeSource的最新版本的nodejs-该软件包还包括最新版本的npm。
基夫·洛克

166

一般而言,将URL中的任意数据加载到root shell会话中不是一个好主意,我希望人们不要再兜售它作为所有问题的解决方案-“请运行我发送给您的脚本,并且在再说一遍-我有一座桥梁,您可能有兴趣购买”。

作为替代方案,这是执行此操作的“ Ubuntu方式”,您可以在其中查看系统的更新方式,并知道将哪些存储库和哪些密钥添加到了系统配置中:

curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install nodejs

这是最新的(在撰写本文时)Nodejs版本7。也可以通过对仓库URL的简单更改来获得其他版本-有关详细信息,请参阅nodesource.com文档。


2
我完全同意您的说法,但是是否要向apt添加新存储库,就像运行一些未知脚本一样?(尽管我理解此处所有其他答案中的脚本,但实际上是单独添加该回购协议)

19
该脚本本身是在添加回购协议,并且上帝也知道。现在可能是完全良性的,但是谁知道DNS劫持者或网站开发者将来会做什么?添加仓库与运行Internet脚本不同,因为添加仓库本身不会下载或运行任何可执行代码-只会响应特定的apt-get安装来执行此操作,这将验证软件包已签名使用nodesource密钥-希望它比nodesource域或网站更加安全。APT的安全性非常好,并且拥有良好的记录。
2015年

1
@Dan,看来您正在运行Node Source不支持的Ubuntu 15.04(utopic),因此您将从utopic的存储库中获得0.10。节点源仅支持LTS版本和最新的非LTS。由于您不在LTS发行版中,因此您应在去年10月发行时升级到最新版本。因此,要么这样做,要么通过将$(lsb_release -c)版本自动检测位更改为受支持的版本之一来破解它并处理后果。
格斯

2
@PaulDraper:问nodesource,他们是出售他们不拥有的桥梁的人。我的apt-get解决方案是直接使用涂料。
古斯

1
很棒的答案!如果任何人想知道,这只是工作的新版本-例如:只需更换79
米哈伊Rotaru


25

如果要在内部更新npm,可以使用以下n命令:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo npm install npm@latest

这将安装n软件包,您可以使用该软件包切换NodeJS版本并使用它。SO替代NVM和命令选项的比较。还有一个博客文章



1
我对npm和nvm很陌生;我正在尝试在python virtualenv中安装npm; 我使用npm还是nvm都重要吗? nvm install lts/carbon为我安装npm和node。这与您共享的上述命令有何不同?
kRazzy R

@kRazzyR:您可以选择使用nvm还是n更新NodeJS和npm。在这两种情况下,您都可以使用npm安装节点软件包。
serv-inc


8

要安装NPM,

sudo apt-get install npm

然后对于Node,

sudo npm cache clean -f
sudo npm install -g n
sudo n 0.xx.x  // here is the version what you want.. 

该命令将根据您想要的版本安装节点。


8

NVM(节点版本管理器)

https://github.com/creationix/nvm

NVM会为您安装最新的稳定节点和npm

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh
nvm install --lts
nvm use --lts
npm --version

现在使用虚拟包对其进行测试:

npm install --global vaca
vaca

由于必须为每个新的Shell完成采购,因此安装脚本黑客将在您的末尾添加一些自动采购.barshrc。可以,但是我更喜欢删除自动添加的,然后添加自己的:

f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
  . "$f" &>'/dev/null'
  nvm use --lts &>'/dev/null'
fi

好处:

  • 允许您使用多个版本的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

然后,您可以使用git跟踪.nvmrc文件来指示给定项目所需的节点版本:https : //stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for -a-project / 54503474#54503474

在Ubuntu 17.10中测试。


7

对于版本5.x(根据PPA)

apt-get remove --purge nodejs npm
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
apt-get install nodejs

4

您可以按照以下说明很容易地安装最新版本。

curl -sL https://deb.nodesource.com/setup_7.x | 须藤-E bash-

Vesion 7.x是节点的最新版本。

须藤apt-get install nodejs

上面的行将安装nodejs。

sudo apt-get install build-essential

这将安装必需的模块,以便nodejs正常运行。

现在检查一下nodejs是否在您的末端正确安装

节点-v

这将返回已安装的nodejs版本。

npm -v

这将返回已安装的npm版本。希望能帮助到你....

Source:链接还将向您展示如何使用其他一些方法安装nodejs。


为什么要安装build-essential
大卫·佛斯特

nodejs软件包包含nodejs二进制文件以及npm。但是,为了使某些npm软件包(例如需要从源代码构建的软件包)起作用,您将需要安装build-essentials软件包
Jitendra Pawar,2016年

4

在当前所有受支持的Ubuntu版本中,Node.js均作为快照包提供。特定于Node.js的开发人员可以从当前受支持的版本之一中进行选择,并直接从NodeSource获得常规的自动更新。Node.js版本6、8、9、10、11和12当前可用,并且Snap Store在Node.js版本发布的数小时或数分钟之内进行了更新。

可以使用单个命令来安装节点,例如:

sudo snap install node --classic --channel 11/stable 

可以通过以下命令访问节点快照node

$节点-v  
v11.5.0

作为节点快照的一部分,将安装npm的最新版本。npm应该在常规外壳中的节点repl外部运行。安装节点快照后,运行以下命令以启用npm更新检查:

须藤chown -R $ USER:$ {id -gn $ USER)/ home / 您的用户名 /.config

your-username用您自己的用户名替换 上述命令。然后运行npm -v以检查npm的版本是否为最新。例如,我检查npm是最新的,使用命令检查已经安装的名为yarn的软件包的版本,npm list yarn然后使用命令将现有的yarn软件包更新为最新版本。npm update yarn

用户可以随时在不同版本的Node.js之间切换,而无需使用其他工具,例如nvm(节点版本管理器),例如:

sudo snap refresh node --channel=11/stable

用户可以通过以下方法测试可以从最新边缘通道安装的最新版本的Node.js:该通道当前正在跟踪Node.js版本12:

sudo snap switch node --edge

仅建议那些愿意参与上游测试和错误报告的用户使用此方法。

Node.js LTS时间表

发行LTS状态代号LTS开始维护开始维护结束
6.x活性硼2016-10-18 2018年4月2019年4月
7.x无LTS              
8.x活性炭2017-10-31 2019年4月2019年12月
9.x无LTS              
10.x活跃的Dubnium 2018年10月2020年4月2020年4月20日  
11.x否LTS 2019-04-01 2019-06-30
12.x 2019-10-22 2021-04-01 2022-04-01
13.x否LTS 2020-04-20 2020-06-01


3

@ 23W只是答案的一部分(可接受的答案)。

这只是脚本的内容,只是为了避免对根shell进行卷曲。

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
echo "deb https://deb.nodesource.com/node_6.x $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/nodesource.list
echo "deb-src https://deb.nodesource.com/node_6.x $(lsb_release -c -s) main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list

sudo apt-get update
sudo apt-get install -y nodejs


2
//Download
cd ~/Downloads
wget https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-x64.tar.xz

//Install
cd /usr/local
tar --strip-components 1 -xJf ~/Downloads/node-v4.4.5-linux-x64.tar.xz

//Verify
node -v
npm version

资源


2

我最喜欢的安装最新的nodejs和npm的方法是使用nodejs网站上提供的安装二进制归档文件。

这可能很快也将成为您的新宠。奇迹般有效。它涉及1个下载和1个命令。做完了 没有错误[我已经多次这样做]。不需要事先卸载现有的东西。

通过Binaries安装Node.js


首先,删除安装的版本:(如果存在)

sudo apt-get remove nodejs

下载

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

下载Linux Binaries。

  • 我必须将tar.xz解压缩到一个文件夹中,然后重新压缩为tar.gz

安装

sudo tar -C /usr/local --strip-components 1 -xzf /path/to/downloaded/tar/node-vYOURVERSION-linux-x64.tar.gz

校验

node -v
npm --version

资源

http://www.thegeekstuff.com/2015/10/install-nodejs-npm-linux/


1
为什么要重新压缩为tar.gz?tar支持--xz-而且-C /usr/localtarcd给你。
muru

2

影片说明


NVM的安装非常简单,可以轻松切换节点版本。从github仓库

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

下载并运行安装脚本

nvm ls-remote

查看可用版本。假设您要安装版本8.9.4

nvm install 8.9.4

到此为止。

要安装另一个版本并使用它(例如9.6.1)

nvm install 9.6.1
nvm alias default 9.6.1

1

更新程序包管理器

sudo apt-get update

添加NodeJS PPA

sudo apt-get install python-software-properties
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

安装NodeJS和NPM

sudo apt-get install nodejs

在这里,我写了一篇有关在Ubuntu中安装NodeJS和NPM的完整博客文章。点击这里阅读


通常,对于根源外壳程序而言,陷入根外壳是一件非常糟糕的事情,我建议您更新博客文章和答案,不要这样做。
穿梭车

1

这种方法使您可以轻松删除Node.JS,保留不同版本并向所有系统用户提供命令。

下载稳定版本Node.JS,解压缩并将其移动到中/opt

如果要安装其他版本,可以根据文件夹的版本代码重命名该文件夹:

/opt/node/6.9.1

由于只有root才能更改/opt/中的文件,因此,如果您不想在sudo每次需要修改文件时都调用invoke ,请更改组权限:

chgrp adm -R /opt/node/10.15.3

/etc/profile.d/node.sh如果以下内容,则创建文件:

export NODE_HOME=/opt/node/10.15.3

export CPLUS_INCLUDE_PATH=${NODE_HOME}/include
export C_INCLUDE_PATH=${NODE_HOME}/include
export LD_LIBRARY_PATH=${NODE_HOME}/lib
export MANPATH=${NODE_HOME}/share/man:${MANPATH}

export PATH=${NODE_HOME}/bin:$PATH

注销和登录以及X-Window将重新加载所有配置文件配置。

如果安装了以前的版本,请避免运行库冲突:

npm cache clean

-1

更新包管理器

sudo apt-get update

添加PPA

sudo apt-get install python-software-properties

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -

安装NodeJS和NPM

sudo apt-get install nodejs

供参考:在Ubuntu中安装NodeJS-WebCheerz

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.