为什么在Debian/Ubuntu上只能使用过时的NPM版本?

Raj*_*tia 10 node.js npm ubuntu-16.04

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

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

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

Ste*_*Bob 7

在服务器bash上键入“ hash -r”。

然后再次检查您的“ npm -v”


Aka*_*tum 6

升级 npm:

$ sudo npm install -g npm@latest

$ reboot

$ npm -v
Run Code Online (Sandbox Code Playgroud)

完成安装:

$ sudo apt install nodejs

$ sudo apt install npm

$ npm -v
Run Code Online (Sandbox Code Playgroud)

npm 版本:3.5.2

然后升级:

$ npm install -g npm@latest

$ reboot

$ npm -v
Run Code Online (Sandbox Code Playgroud)

  • shell 中的“hash -r”就足够了,无需重新启动。 (2认同)

Aur*_*001 5

您将获得npm的3.5.2版本,因为这是存储库中的版本。Debian和Ubuntu一般是可怕的,在保持与节点和NPM快速的发展速度,所以你会经常发现包日期出来,是没有多大用处给你。

一些Debian发行版(例如Jessie)仅具有npm v1.4.21,这已经过时了。顺带提及,Debian Jessie是RPi发行版Raspbian Jessie所基于的版本。

相反,请按照Node.js网站上给出的说明进行操作

可从NodeSource Debian和Ubuntu二进制分发存储库(以前是Chris Lea的Launchpad PPA)中获得Node.js。可以在GitHub的nodesource / distributions上找到对此存储库及其脚本的支持。

注意:如果您正在使用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
Run Code Online (Sandbox Code Playgroud)

另外,对于Node.js v7:

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

nodejs由NodeSource提供封装包括NPM。只需安装该软件,便可以使用最新版本。

  • 我认为他们在更新每个包方面并不糟糕。我想知道节点和 v8 代码是否易于审计等等。 (2认同)