如何更新npm


124

我正在尝试安装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

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


12
sudo npm update npm -g
2014年

1
如果您可能冒使用不受支持的PPA的风险,请尝试launchpad.net/~chris-lea/+archive/node.js
TeTeT 2014年

sudo npm install npm -g帮助了我
thinklinux 2014年


这应该在Ask Ubuntu
Ulysse BN

Answers:


189

这将使用npm本身更新npm

sudo npm install npm -g

如果卡住了,请尝试sudo npm update npm -g。一切归功于Tim Castelijns。我已经在ubuntu 14.04,npm 1.3.10上进行了测试


请注意,如果您使用nvm管理本地开发环境中的多个版本(例如,出于测试目的),则所有已安装的版本(由列出nvm ls)都位于〜/ .nvm中,因此,您只需忽略系统范围的安装(即,忽略sudo):

npm install npm -g

德比企业

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

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

作为描述在这里

其他企业

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

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


我建议使用PPA存储库,以便让ubuntu软件包管理器维护所有其他更新。
henry74 2015年

在生产服务器上,也许可以。但是对于开发人员,您真的想保证直接从npm软件包维护者那里获得东西,而不是PPA维护者
Yauhen Yakimovich 2015年

我不同意。您不希望开发人员与生产人员有所不同,否则您会遇到不同版本的部署问题。
henry74 2015年

1
再次取决于您的偏执程度,相信Chis Lea的PPA可能会令人怀疑。对于一个项目中作为本地副本卸载的关键依赖项,始终有一个决定是可能的。如果您不是在银行工作,而是在做一个开源项目,那么您甚至可能不必担心生产问题:)我将在此处链接节点wiki,仅列出所有替代方案。就代码分发而言,我个人并不是PPA与github标记的主要部分。
Yauhen Yakimovich 2015年

不需要使用Chris的PPA。使用来自节点来源的官方版本。
henry74

43

如果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

然后 :

curl https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | sh

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

npm --version

编辑/更新:

今天,最后一个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

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


3
user3223763对我不起作用,自我更新npm也不起作用。谢谢丹尼尔
hectorg87

3
我可以确认此方法有助于更新npm。先前的方法具有库未满足的依赖性,或者将更新npm,但不会更新路径/环境以使用新位置。
will824

这对我也有用,其他答案在Ubuntu 14.0.4上不可用
islanddave '16

1
使用在Crouton的Chromebook上安装的Ubuntu 14.04,这对我有用。闲来无事我在网上找到了工作
尼尔

17

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

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

sudo npm install npm -g

这也对我有用


13

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

sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm

1
E: The repository 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. 对于Ubuntu 18.04
anon58192932,2018年

错误:11 ppa.launchpad.net/chris-lea/node.js/ubuntu仿生版本404未找到[IP:91.189.95.83 80]
Kiran Reddy

1
摆脱烦人的错误运行:rm /etc/apt/sources.list.d/cooperjona-ubuntu-nitrotasks-bionic.list
Abdelghani AINOUSS

9

在Ubuntu 14.04上尝试了以上选项,但它们会不断产生此错误:

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

然后在线找到此解决方案:

1)首先清理npm的缓存:

sudo npm cache clean -f

2)安装npm的n个模块:

sudo npm install -g n

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

sudo n stable

4)检查节点版本:

node -v

5)检查npm的版本:

npm -v

这个答案可以用一些扩展来解释不太明显的命令在做什么。
Madbreaks





1
npm i -g npm

      Update available 4.5.0 → 4.6.1    │
   │     Run npm i -g npm to update 

这是npm在终端中建议的,第二部分直接从我的终端复制并粘贴

注意:即时通讯使用Mac


问题特别是关于ubuntu,而不是osx。如果我在ubuntu中尝试了您的命令,npm将失败 Error: Cannot find module 'process-nextick-args'。您应该删除答案。
安东尼·孔


1

NPM运行后返回旧版本$ sudo npm install npm -g

重新启动终端(即关闭并再次打开)对我来说已解决此问题,并$ npm --version开始返回预期的版本。

* @Rimian在另一个答案的评论中提到需要重新加载终端。


0

如果要将npm更新为特定版本,可以使用以下命令:

npm install npm@version-number


0

检查您的节点版本node -v和npm版本,npm -v 然后要更新您的npm,请在终端中输入以下内容: npm install npm@latest -g

希望我能帮上忙。问候


0

这就是我在ubuntu上工作的原因 curl -L https://www.npmjs.com/install.sh | sh



0

您可以使用npm包管理器:

npm install npm@latest

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


-1

对于Ubuntu 18.04

npm安装最新版本

我也希望对你有帮助

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.