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

时间:2017-05-21 10:53:50

标签: node.js npm ubuntu-16.04

我正在使用基于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以便获得最新版本?

6 个答案:

答案 0 :(得分:6)

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

然后再次检查您的'npm -v'

答案 1 :(得分:4)

您正在获取npm版本3.5.2,因为它是repositories中的版本。 Debian和Ubuntu通常可怕以跟上Node和npm的快速开发速度,所以你经常发现这些软件包已经过时了,并且不是很有用。

一些Debian发行版(例如Jessie)只有npm v1.4.21,这更加过时了。顺便说一句,Debian Jessie是RPi发行版Raspbian Jessie所依据的版本。

相反,请关注the instructions given on the Node.js website

  

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

     

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

android:background="@mipmap/logo"
     

或者,对于Node.js v7:

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

NodeSource提供的curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - sudo apt-get install -y nodejs 包包括npm。只需安装即可,您已准备好使用最新版本。

答案 2 :(得分:1)

尝试

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

答案 3 :(得分:0)

sudo npm install -g npm

如果对我有用,那么我需要@StefanBob提供的答案

答案 4 :(得分:0)

我已经阅读了这个答案,它在这个问题上对我有帮助:

https://askubuntu.com/questions/1036278/npm-is-incorrect-version-on-latest-ubuntu-18-04-installation

希望它对您有帮助。

$ sudo apt-get install npm
(...apt installation of npm was successful...)
$ npm -v
3.5.2
$ command -v npm
/usr/bin/npm
$ sudo npm install -g npm
(...npm installation of npm was successful...so far, so good)

之后,只需重新启动bash或按照krubo的步骤进行即可。

答案 5 :(得分:0)

升级npm:

$ sudo npm install -g npm@latest

$ reboot

$ npm -v

完成安装:

$ sudo apt install nodejs

$ sudo apt install npm

$ npm -v

npm版本:3.5.2

然后升级:

$ npm install -g npm@latest

$ reboot

$ npm -v