如何更新npm

use*_*174 119 ubuntu npm

我正在尝试安装mean.io样板.运行时失败sudo npm install -g meanio@latest.在失败之前,它注意到它'想要'npm版本1.4.x,而我已经安装了1.2.18.所以我尝试将npm更新到最新版本; 几种方式.最后一个是......

ubuntu@ip-xxx-xx-xx-xxx:~$ sudo npm install -g npm
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@1.4.7 /usr/local/lib/node_modules/npm

ubuntu@ip-xxx-xx-xx-xxx:~$ npm --version
1.2.18
Run Code Online (Sandbox Code Playgroud)

当我刚刚更新到1.4.7时,为什么它仍然显示版本1.2.18?

Yau*_*ich 181

这将使用npm本身更新npm:

sudo npm install npm -g
Run Code Online (Sandbox Code Playgroud)

如果你遇到困难,试试吧sudo npm update npm -g.所有功劳归功于Tim Castelijns.我在ubuntu 14.04上测试了它,npm 1.3.10


请注意,如果您使用的NVM在本地开发环境管理多个版本例如,测试的目的,所有已安装的版本(上市nvm ls)是在〜/ .nvm,因此你只需要省略全系统的安装(即省略须藤):

npm install npm -g
Run Code Online (Sandbox Code Playgroud)

DEBIAN ENTERPRISE

对于完整的企业实践,请考虑nodesource.com:

curl -sL https://deb.nodesource.com/setup | sudo bash -

作为描述在这里.

其他企业

对于非debian发行版,请查看节点github wiki https://github.com/joyent/node/wiki/installing-node.js-via-package-manager下载页面https://nodejs.org/en/download /

对于历史的理解:CHIS执法机关是维护他的PPA但现在联手nodesource.


Dan*_*iro 38

如果user3223763的答案不起作用,你可以试试这个:

sudo apt-get remove nodejs ^node-* nodejs-*
sudo apt-get autoremove
sudo apt-get clean
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)

然后 :

curl https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | sh
Run Code Online (Sandbox Code Playgroud)

在此之后,打开一个新终端并检查npm版本:

npm --version
Run Code Online (Sandbox Code Playgroud)

编辑/更新:

今天最后一个nvm版本是:

https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh

因此,CURL命令是:v0.25.4而不是v0.13.1

curl https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | sh
Run Code Online (Sandbox Code Playgroud)

您可以查看https://github.com/creationix/nvm/releases以使用正确的版本进行进一步升级

  • user3223763对我不起作用,也没有自我更新npm.谢谢Daniel (2认同)
  • 我可以确认这个方法有助于更新npm.以前的方法具有库未满足的依赖关系或将更新npm但不会更新路径/环境以使用新位置. (2认同)

小智 13

看起来你正在使用Ubuntu(从你显示的命令行).要更新npm,nodejs您可以使用PPA存储库:

sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm
Run Code Online (Sandbox Code Playgroud)

  • `E:存储库“http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release”没有发布文件。N:无法安全地从此类存储库进行更新,因此默认情况下禁用。N:有关存储库创建和用户配置详细信息,请参阅 apt-secure(8) 联机帮助页。` 适用于 Ubuntu 18.04 (3认同)

Dan*_*ann 12

不要忘记关闭并再次启动终端窗口;)

(至少如果要在终端中检查“ npm --version”)

sudo npm install npm -g
Run Code Online (Sandbox Code Playgroud)

这也对我有用

  • 运行此命令后,我需要重新加载终端。 (2认同)

Kos*_*tyn 8

在Ubuntu 14.04上尝试了上面的选项,但是他们会不断产生这个错误:

错误的ERR!tar pack错误读取/root/tmp/npm-15864/1465947804069-0.4854120113886893/package

然后在线找到这个解决方案

1)首先清理npm的缓存:

sudo npm cache clean -f
Run Code Online (Sandbox Code Playgroud)

2)安装npm的n模块:

sudo npm install -g n
Run Code Online (Sandbox Code Playgroud)

3)通过选择要安装的节点版本开始安装:稳定最新,我们将在这里使用stable:

sudo n stable
Run Code Online (Sandbox Code Playgroud)

4)检查节点的版本:

node -v
Run Code Online (Sandbox Code Playgroud)

5)检查npm的版本:

npm -v
Run Code Online (Sandbox Code Playgroud)


小智 6

要获得最新的稳定版本,只需运行

npm install npm@latest -g
Run Code Online (Sandbox Code Playgroud)

对我来说效果很好!


jit*_*put 6

你可以试试:

sudo npm i -g npm
Run Code Online (Sandbox Code Playgroud)


Jus*_*Liu 6

您可以使用npm包管理器:

npm install npm@latest
Run Code Online (Sandbox Code Playgroud)

这将npm使用自身@最新版本进行安装。