问题 为什么在使用apt-get安装时会获得旧版本的nodejs和npm?


我在Ubuntu 14.04 64位中执行了以下命令。

sudo apt-get update
sudo apt-get install nodejs modejs-legacy npm

我有版本

npm -v
1.3.10

nodejs -v
v0.10.25

这些比AngularJS 2的推荐版本旧。

为什么apt-get下载旧版本? 如何更新到更新的版本?


1977
2018-01-04 15:20


起源

可能重复 如何将Node.js和NPM更新到下一个版本?。它没有回答“为什么?”问题,但答案是,“因为旧版本是Canonical的Ubuntu版软件存储库中的内容” - apsillers
Debian和RHEL发行版都有旧版本的node和npm。不确定为什么节点不支持他们的Linux软件包,但它确实使运行服务器变得棘手。 - ssube


答案:


Debian / Ubuntu在他们的包管理器中有旧版本,你必须使用如下所述的自定义PPA存储库:

https://github.com/nodejs/node-v0.x-archive/wiki/Installing-Node.js-via-package-manager#setup-with-ubuntu

设置它:

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

然后用Ubuntu安装:

sudo apt-get install --yes nodejs

9
2018-01-04 15:35



这是我试图安装到Raspberry Pi的难题。 - David Clarke
这样做可以保存链接的repo,其优先级高于Ubuntu的包管理器的默认值? - Nic Szer
是的,它将被覆盖 - michelem