如何将NodeJS和NPM更新到下一版本?

node.js npm node-modules npm-update

1369829 观看

30回复

我刚刚安装了Node.jsnpm(用于其他模块)。

如何将Node.js和正在使用的模块更新到最新版本?

可以npm这样做,还是必须删除并重新安装Node.js和npm才能获得下一个版本?

我在本节中遵循了步骤npm

作者: Dail 的来源 发布者: 2019 年 10 月 4 日

回应 (30)


1668

请参阅文档以获取update命令:

npm update [<name> [<name> ...]]

此命令会将列出的所有软件包更新到最新版本(由标记config指定)。它还将安装缺少的软件包。

此外,请参阅有关Node.js和NPM安装以及升级NPM的文档。

以下原始答案来自不再存在的旧FAQ,但适用于Linux和Mac:

如何更新npm?

npm install -g npm

请注意,此命令将删除您当前的npm版本。sudo npm install -g npm如果在Mac上,请确保使用。

您也可以通过npm update不添加任何参数来更新所有过时的本地程序包,或通过来更新全局程序包npm update -g

有时,npm的版本会升级,导致当前版本无法与已经安装的版本正确安装。(考虑一下,如果update命令中存在错误。)在这种情况下,您可以这样做:

curl https://www.npmjs.com/install.sh | sh

要更新Node.js本身,建议您使用nvm(节点版本管理器)

作者: James 发布者: 04.06.2011 02:48

417

我在David Walsh的博客上发现了这种更新节点的好方法,可以通过安装n以下方法来完成:

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

它将安装的当前稳定版本node


编辑:请不要再使用n了。我建议使用nvm。您可以按照以下命令简单地安装稳定版:

nvm ls-remote
nvm install <version> 
nvm use <version>
作者: nkh 发布者: 13.06.2013 08:38

294

更新npm很容易:

npm install npm@latest -g
作者: lxe 发布者: 13.03.2015 01:09

145

我知道这个问题是针对Linux机器的,但是以防万一有人在寻找Windows解决方案,只需转到Node.js站点,单击主页上的下载按钮并执行安装程序。

幸运的是,它可以处理所有事情,单击“下一步”按钮,我在Windows 7计算机上运行了最新的0.8.15 Node.js版本。

作者: Anmol Saraf 发布者: 07.12.2012 08:25

112

如您所知,NPM当前与Node.js捆绑在一起,这意味着如果已安装node,则已经安装了npm。有几种方法可以使Node.js和NPM保持最新,您需要使用以下版本管理器之一:

家酿

如果您在Mac上,则可以使用Homebrew。要使用brew安装NodeJS和NPM:

$ brew install node

稍后您将能够使用更新它

$ brew update && brew upgrade node

NPM也将更新。

switch如果需要,您还可以使用以前的版本之一,例如:

$ brew switch node 0.10.26

要将brew安装到Mac:

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

ñ

n最有可能rvm(Ruby Version Manager),并且可以用于管理和更新node/npm版本。

轻松安装Node.js版本:

$ n 0.10.26
$ n 0.8.17
$ n 0.9.6

使用(如果缺少,请安装)最新的官方版本:

$ n latest

使用/安装稳定的官方版本:

$ n stable

切换到您使用的先前版本:

$ n prev

如果要查看已安装节点的列表,只需从命令行运行n,输出将类似于以下内容:

$ n

  0.10.26
• 0.8.17
  0.9.6

点(•)表示它是当前有效的版本。要从列表中选择节点版本,请使用updown箭头,然后使用激活enter

n软件包是纯linux shell格式编写的,可以作为npm模块使用(包含package.json),因此,如果您安装了任何Node.js,则可以n通过以下方式安装/更新npm

$ npm install -g n

虚拟机

nvm也很像RVM,甚至命令名称和用法也非常相似。

要使用以下方法下载,编译和安装最新版本的Node.js v0.10.x nvm

$ nvm install 0.10

然后可以切换到已安装的版本:

$ nvm use 0.10

您可以.nvmrc在项目根文件夹中创建一个包含版本号的文件。然后运行以下命令切换到指定版本:

$ nvm use

或者,您可以运行它:

$ nvm run 0.10

如果要查看已安装的版本,请使用:

$ nvm ls

要自行安装nvm,可以使用以下安装脚本(requires gitcURL

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

wget

$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

聚苯乙烯

我在MacOSX和Linux上使用过的所有这些方法,我对如何在Windows上管理Node.js版本都没有任何经验,我只能假设n(第二种)适用于Microsoft的操作系统(至少从的cygwin)。

作者: Dan K.K. 发布者: 07.03.2014 03:45

100

首先检查您的NPM版本

npm -v

1)将NPM更新为当前版本:

查看当前NPM版本:

npm view npm version

将npm更新到当前版本:

npm i -g npm


2)列出所有可用的NPM版本并进行自定义安装/更新/回滚

查看所有版本,包括“ alpha”,“ beta”和“ rc”(候选发行版)

npm view npm versions --json

将NPM重新安装到从版本列表中选择的特定版本-例如到5.0.3

npm i -g npm@5.0.3
  • 安装一个版本将自动删除当前安装的版本。

  • 对于Linux和iOS,使用sudo前缀命令

作者: DevWL 发布者: 07.06.2017 09:51

54

Windows用户升级

Windows用户应在npm Wiki中阅读故障排除> Windows上的升级

使用PowerShell在Windows 10上进行升级(第三方编辑)

Windows疑难解答#upgradeing上方的链接指向github页面npm-windows-upgrade,以下行是自述文件的引号。我使用节点v5.7.0和powershell(大概是powershell版本5.0.10586.122)成功地从npm 2.7.4升级到了npm 3.9.3。

首先,通过从提升的PowerShell中运行以下命令,确保可以在系统上执行脚本。要以管理员身份运行PowerShell,请单击“开始”,搜索PowerShell,右键单击PowerShell,然后选择“以管理员身份运行”。

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force    

然后,要安装和使用此升级程序工具,请运行(也可以从提升的PowerShell或cmd.exe)运行:

npm install --global --production npm-windows-upgrade
npm-windows-upgrade
作者: kayz1 发布者: 01.12.2014 07:29

53

第一次更新npm

npm install -g npm@next

然后更新node到下一个版本,

npm install -g node@nextnpm install -g n@next 或者,最新

npm install -g node@latest 要么 npm install -g node

安装版本后检查

node --version要么 node -v

作者: AndreL 发布者: 20.12.2017 03:37

49

简单使用此

npm i -g npm

当发布新的更新/错误修复时,这就是我从npm提示在控制台上的内容:

在此处输入图片说明

作者: DevWL 发布者: 07.06.2017 03:17

26

  • 更新节点使用NVM(或nvmw适用于Windows)。

  • 更新npm,该npm update npm -g命令对我不起作用(在Windows上)。根据文档,重新安装npm的工作是:“ 您可以从https://npmjs.org/dist/下载zip文件,然后将其解压缩到node.exe所在的文件夹中。 ”确保执行此操作您首先要摆脱先前的安装(尽管覆盖它可能会正常工作...)。

  • 更新模块,请使用npm update命令

作者: B T 发布者: 16.11.2013 08:28

18

$ npm install -g npm stable

为我工作从1.4.28更新到2.1.5

作者: Arkadiusz Rosłaniec 发布者: 25.10.2014 11:32

16

尝试最新稳定版本的npm

查看您正在运行的npm版本:

npm -v

在* nix上升级(OSX,Linux等)

(您可能需要在这些命令前面加上sudo,尤其是在Linux或OS X(如果使用默认安装程序安装了Node的情况下)。)

您可以使用以下方法升级到最新版本的npm:

npm install -g npm@latest

或升级到最新版本:

npm install -g npm@next

在Windows上升级


默认情况下,npm与节点中的节点一起安装

C:\Program Files (x86)\nodejs

npm的全局安装软件包(可能包括npm本身)分别存储在用户特定的目录(当前位于

C:\Users\<username>\AppData\Roaming\npm)。

因为安装程序把

C:\Program Files (x86)\nodejs

之前

C:\Users\<username>\AppData\Roaming\npm

在您的计算机上PATH,它将始终使用与节点一起安装的npm版本,而不是使用来安装的npm版本npm -g install npm@<version>

为了解决这个问题,你可以做一个如下:

  • 选项1:编辑您的Windows安装的PATH%appdata%\npm之前%ProgramFiles%\nodejs。请记住,cmd.exe更改PATH或安装npm 时需要重新启动(并可能重新启动Windows)。

  • 选项2:同时删除

    • %ProgramFiles%\nodejs\npm
    • %ProgramFiles%\nodejs\npm.cmd
  • 选项3:导航到%ProgramFiles%\nodejs\node_modules\npmnpmrc文件并将其复制到另一个文件夹或桌面。然后打开cmd.exe并运行以下命令:

cd%ProgramFiles%\ nodejsnpm安装npm @ latest

如果您使用node.js安装程序安装了npm,请执行上述步骤之一后,执行以下操作。

  • 选项1或2

    • 进入%ProgramFiles%\nodejs\node_modules\npm并复制npmrc在新的npm文件夹中命名的文件,该文件应为%appdata%\npm\node_modules\npm。这将告诉新的npm全局安装的软件包在哪里。
  • 选项3

    • 将npmrc文件复制回 %ProgramFiles%\nodejs\node_modules\npm

内置Windows配置的简要说明

Node安装程序直接将特殊的Windows特定配置安装到npm文件夹中,该配置告诉npm在哪里安装全局软件包。当使用npm自行安装时,应该将此特殊builtin配置复制到新安装中。npm的某些版本中存在一个错误,无法正常运行,因此您可能需要手动进行修复。运行以下命令以查看npm将在哪里安装全局软件包以验证其正确性。

npm config get prefix -g

如果未将其设置为<X>:\Users\<user>\AppData\Roaming\npm,则可以运行以下命令对其进行更正:

npm config set prefix "${APPDATA}/npm" -g

顺便说一句,如果您希望不将软件包安装到漫游配置文件中(因为您在共享网络上有配额,或者它使登录或从域缓慢退出),则可以将其放入本地应用程序数据中:

npm config set prefix "${LOCALAPPDATA}/npm" -g

...以及复制%APPDATA%\npm%LOCALAPPDATA%\npm(和更新%PATH%,当然)。

每个在npm上工作的人都知道这个过程很繁琐,我们正在努力使其变得更简单。敬请关注。

来源:https : //docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-npm

作者: Mohammad AlQanneh 发布者: 08.08.2018 12:08

15

我刚刚在新的Windows 7计算机上安装了Node.js,结果如下:

> node -v
v0.12.0
> npm -v
2.5.1

然后,我执行了上述过程:

> npm install -g npm

并升级到v2.7.3。除了比做npm -v还给2.5.1。

我去了系统配置面板,高级设置,环境变量。除了全局Path变量之外,我还看到了特定于我的用户帐户的PATH变量。
前者指向新的npm:C:\Users\PhiLho\AppData\Roaming\npm
后者包括指向节点的路径:(C:\PrgCmdLine\nodejs\现在,我避免在Program Files和衍生产品中安装内容。避免在路径中留空格,并且嘈杂的无用保护措施更为合理...)
如果这样做which npm.cmd(我有已安装Unix实用程序...),它指向Node中的一个。

无论如何,解决方法很简单:我只是将第一个路径(到npm)复制到了主要全局变量Path中节点的路径之前,现在它获取了最新版本。
<some stuff before>;C:\Users\PhiLho\AppData\Roaming\npm;C:\PrgCmdLine\nodejs\

> npm -v
2.7.3

请享用。:-)

作者: PhiLho 发布者: 22.03.2015 03:43

14

安装npm =>sudo apt-get install npm

安装n =>sudo npm install n -g

最新版本的节点 =>sudo n latest

Specific version of node you can

List available node versions => n ls

Install a specific version => sudo n 4.5.0

作者: Gurudath BN 发布者: 26.05.2017 11:22

13

For Linux, OSX, etc..

To install the latest version of NPM

npm install -g npm@latest

Or To Install the most recent release

npm install -g npm@next

Additional : To check your npm version

npm -v

If you are in a Windows Machine, I suggest going to the npm website

作者: Abhishta Gatya 发布者: 03.09.2017 09:18

13

Just run the following command in terminal as root/administrator:

npm i -g n
n stable
npm update -g npm

It has worked for me on Linux

作者: fiza khan 发布者: 29.11.2017 09:45

11

I recently stumbled across this article: http://martineau.tv/blog/2013/12/more-efficient-grunt-workflows/ and the author mentions $ npm-check-updates -u && npm install to update all dependencies.

This is a little off the topic but I ended up here on a similar search so thought it was worth the share.

作者: Jason Lydon 发布者: 29.01.2014 04:52

10

Sometimes it's just simpler to download the latest version from http://nodejs.org/

Especially when all other options fail.

http://nodejs.org/ -> click INSTALL -> you'll have the latest node and npm

Simple!

作者: guya 发布者: 27.06.2014 10:47

10

I think the best way to manage node.js is to use NVM. NVM stands for Node Version Manager.

It's a must-have tool for node.js developers!

You can install NVM using the following command, open terminal and run any one of the following:-

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

or

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

After installing this it's recommended to close the current terminal and open a new one since NVM will be adding some environment variables so terminal needs to be restarted.

I'll list down some of the basic commands for using NVM.

  • This will fetch all the node versions from the internet. All node versions from beginning till date will be shown, It will also mention LTS versions alongside.
nvm ls-remote 
  • This will install the node version which you want (version list is obtained using the above command)
nvm install v10.15.1
  • This command will give us the list of node versions that are installed locally
nvm ls
  • This command is used to remove the node version that you want from your computer
nvm uninstall v10.15.1
  • The following command will help you upgrade to the latest working npm on the current node version
nvm install-latest-npm
  • NVM can be used to manage multiple node versions simultaneously
  • It can also help you install all the global npm packages from one version to another instead of manually installing each one of them!
  • There are many other uses of nvm the details of which and the commands can be found here Node Version Manager
作者: Viraj Shelke 发布者: 14.02.2019 05:50

9

Just listened to an interview with the npm team on the latest episode of nodeup, and they recommended not using update for the update from 1.x to 2.x. Instead, use: npm install npm -g

作者: Nick Benes 发布者: 20.10.2014 06:29

9

Just with this code

npm install update
作者: andrea404 发布者: 30.11.2015 04:05

9

To update npm :

npm install npm@{version} -g

to update npm to the latest version:

npm install npm@latest -g

and to check the version :

npm -v

to update node js :

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

to check :

node -v
作者: Muhammad Habib Jawady 发布者: 05.06.2017 09:14

7

When it comes to Linux I suggest an Update Node Using a Package Manager:

Node comes with npm pre-installed, but the manager is updated more frequently than Node. Run npm -v to see which version you have, then npm install npm@latest -g to install the newest npm update. Run npm -v again if you want to make sure npm updated correctly.

To update NodeJS, you’ll need npm’s handy n module. Run this code to clear npm’s cache, install n, and install the latest stable version of Node:

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

To install the latest release, use n latest. Alternatively, you can run n #.#.# to get a specific Node version.


When it comes to Windows/ macOS I suggest using Installers on Nodejs.org

The Node.js downloads page includes binary packages for Windows and macOS — but why make your life more difficult? The pre-made installers — .msi for Windows and .pkg for macOS — make the installation process unbelievably efficient and understandable. Download and run the file, and let the installation wizard take care of the rest. With each downloaded update, the newer versions of Node and npm will replace the older version.

Alternatively, macOS users can use the npm and n instructions above.


When it comes to updating your node_modules dependencies folder, I suggest skipping all the things that could cause you a headache and just go to your specific project and re-run npm install again.

Before anyone does that, I suggest first checking your package.json file for the following:

As a user of NodeJS packages, you can specify which kinds of updates your app can accept in the package.json file. For example, if you were starting with a package version 1.0.4, this is how you could specify the allowed update version ranges in three basic ways:

允许补丁发布:1.0或1.0.x或〜1.0.4
允许次要版本:1或1.x或^ 1.0.4
允许主要版本:*或x

说明:

API版本不兼容时的主要版本。->~

MINOR版本,用于以向后兼容的方式添加功能时的版本。->^

完成向后兼容错误修复时的 PATCH版本。->*

作者: Bigga_HD 发布者: 05.09.2018 06:12

6

对于Cygwin用户:

在其中安装n(节点版本管理器)Cygwin不起作用,而是使用以下命令更新节点:

wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\pathto\nodejs\node.exe'
# Updating npm
npm i -g npm

是的,您需要先安装wget

作者: emigenix 发布者: 19.08.2016 01:17

6

对于nodejs,应将其卸载并从nodejs.org下载您喜欢的版本,以使npm在cmd中的行以下运行:

npm i npm
作者: Abolfazl Miadian 发布者: 08.05.2018 02:57

5

另外,如果您想更新到特定版本,请遵循以下步骤:

sudo npm cache clean -f
sudo npm install -g n
sudo n <specific version>
作者: Jyoti Duhan 发布者: 29.03.2016 06:58

5

使用npm中的n模块来升级node。n是一个节点帮助程序包,用于安装或更新给定的node.js版本。

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs

注意,nodejs的默认安装位于/ usr / bin / nodejs中,而不是/ usr / bin / node中

要升级到最新版本(而不是当前稳定版本),您可以使用

sudo n latest

撤销:

sudo apt-get install --reinstall nodejs-legacy     # fix /usr/bin/node
sudo n rm 6.0.0     # replace number with version of Node that was installed
sudo npm uninstall -g n

如果收到以下错误,bash: /usr/bin/node: No such file or directory则输入的路径为

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs

如果有错。因此,请确保检查以上路径中是否已安装更新nodejs,并且输入的版本正确。

强烈建议不要生产实例上执行此操作。它会严重破坏您的全局npm软件包以及您安装新软件包的能力。

作者: yawningphantom 发布者: 13.10.2017 04:27

5

警告:如果您需要从旧版本(在我的情况下v4.6.0)更新Node,最好从头开始重新安装nodejs(下载链接:https ://nodejs.org ),否则npm也会将自身更新为不兼容的版本与新的Node(请参阅此讨论)。

这是我使用npm更新Node(在Windows上)后得到的错误消息

$ npm install -g npm stable
[ . . .]
$ npm 
C:\Users\me\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js:85
      let notifier = require('update-notifier')({pkg})
      ^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supporte
d outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:974:3

新安装后,npm再次起作用:

$ npm -v
6.5.0
$ node -v
v10.15.0
作者: user2314737 发布者: 03.01.2019 11:25

4

如果您使用的是Windows:请访问https://nodejs.org/en/download/,下载最新版本.exe.msi文件并进行安装以覆盖旧版本

如果您使用的是Ubuntu或Linux:node.js首先卸载,然后重新安装,例如使用Ubuntu():

sudo apt-get remove nodejs

# assume node.js 8 is latest version
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs

node -v
npm -v

删除node_modules你的项目文件夹,npm install以确保您的应用程序将在新的运行良好nodenpm版本。

作者: haotang 发布者: 26.07.2017 07:04

4

只需在控制台上运行以下脚本:

sudo npm i -g n
sudo n stable
sudo npm update -g npm

这仅适用于Linux和MAC

作者: ankur kushwaha 发布者: 26.08.2017 04:33
32x32