为什么我只能在Debian / Ubuntu上安装过时的NPM版本?

我正在使用基于Debian / Ubuntu的发行版(特别是AWS Ubuntu 16.04),并试图通过apt-get来安装NPM。

我的Angular 2应用程序需要的版本高于NPM的3.9.x版本,但是在AWS Ubuntu 16.04上使用sudo apt-get install npm安装的默认版本是3.5.2。 我试图更新NPM,但是它没有从3.5.2升级到4.6.1(最新)。

如何安装/更新NPM,以便获得最新版本?

你得到npm版本3.5.2,因为这是版本库中的版本 。 Debian和Ubuntu在跟上Node和npm的快速开发速度方面通常很糟糕 ,所以你经常会发现这些软件包已经过时了,对你来说没有什么用处。

一些Debian发行版(例如Jessie)只有npm v1.4.21 ,这个版本甚至已经过时了。 顺便说一下,Debian Jessie是RPi发行版Raspbian Jessie的基础版本。

请按照Node.js网站上的说明进行操作 :

Node.js可以从NodeSource Debian和Ubuntu二进制发行版库(以前称为Chris Lea的Launchpad PPA)中获得。 对这个存储库及其脚本的支持可以在GitHub的nodesource / distributions上find。

注意:如果您使用的是Ubuntu Precise或Debian Wheezy,则可能需要阅读有关在较旧发行版中运行Node.js> = 6.x的信息。

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

或者,对于Node.js v7:

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

nodejs提供的nodejs包括npm。 只需安装它,你就可以开始使用最新版本了。