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

Dai*_*ail 1573 node.js npm node-modules npm-update

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

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

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

我按照npm节中的步骤操作.

Jam*_*mes 1685

请参阅该update命令的文档:

npm update [<name> [<name> ...]]
Run Code Online (Sandbox Code Playgroud)

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

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

以下原始答案来自旧的常见问题解答,不再存在,但应适用于Linux和Mac:

我如何更新npm?

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

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

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

有时,npm的版本会进展,以至于无法使用已安装的版本正确安装当前版本.(如果update命令中有错误,请考虑.)在这些情况下,您可以这样做:

curl https://www.npmjs.com/install.sh | sh
Run Code Online (Sandbox Code Playgroud)

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

  • `npm update npm -g`在Windows上对我不起作用 - 它完成没有输出但是npm保持相同的版本(1.3.11当最新版本是1.3.14时) (119认同)
  • 我做的就像你说```npm update npm -g```现在我没有npm作为命令. (39认同)
  • 使用npm安装自己的新版本.我闻到东西爆炸了. (14认同)
  • 不要使用sudo npm install -g npm!这将卸载它! (12认同)
  • 还有curl跟随重定向与-L`curl -L https://npmjs.org/install.sh | sudo sh` (10认同)
  • 这是对我有用的路径(介意www和sudo):`curl https://www.npmjs.org/install.sh | sudo sh` (6认同)
  • 使用npm install -g时请*不要sudo* (5认同)
  • 谢谢!我不得不使用curl方法从1.0.6更新到1.0.23. (4认同)
  • ms上的`npm install -g npm`删除当前版本的npm.正确的命令是`sudo npm install -g npm` (4认同)
  • @alexserver在这里一样.这太荒谬了......你是怎么解决这个问题的? (2认同)
  • 我可能会重新说一下mac,说他们"可能"需要使用sudo.您可以以不需要sudo的方式安装npm,我认为这是安装它的正确方法. (2认同)
  • 我试过了,一切都很好,但是在`npm--version`之后,我看到了5.6 (2认同)
  • 您正在运行 Node.js v10.0.0 版本,Angular CLI 8.0+ 不支持该版本。 (2认同)

nkh*_*nkh 422

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

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Run Code Online (Sandbox Code Playgroud)

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


编辑:请不要再使用n了.我推荐使用nvm.您可以按照以下命令简单地安装stable:

nvm ls-remote
nvm install <version> 
nvm use <version>
Run Code Online (Sandbox Code Playgroud)

  • 'sudo n stable'正在为我做这个伎俩 (16认同)
  • 为什么说“请不要再使用n”?有什么特殊原因吗? (9认同)
  • 拒绝运行Windows x64(但显然与win32一样).这与Node.js项目不一致. (7认同)
  • Windows不支持.我意识到使用Linux会更容易,但在工作中,我无法自由选择我的操作系统.正如@rainabba所说,Node.js项目的精神是跨平台的,而事实并非如此. (7认同)
  • @Michael - 你为什么需要一招?我很困惑. (4认同)
  • 我不知道为什么 David Walsh 当时说 `n` 不稳定,但那个博客是六年前的,而且 `n` 仍在维护中。重复其他评论者,`n` 不能在 Windows 上运行。`nvm` 也没有。 (3认同)
  • 在 Windows 中,您只需下载最新版本的节点并安装即可。它将升级 Node 和 npm。 (2认同)
  • 我已经使用“n”很多年了,没有任何问题。强烈推荐! (2认同)
  • 快进到 2022 年,即使对于旧版本的 MacOS,“n” 仍然兑现其承诺。显然与 nvm 一起仍然是最受欢迎的。测试结果是[此处](https://tech.amikelive.com/node-1340/how-to-update-node-js-on-macos-hindsight-on-old-mac/)。 (2认同)

lxe*_*lxe 298

更新npm很简单:

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

  • 这也是官方答复:https://docs.npmjs.com/getting-started/installing-node (12认同)
  • 使用windows 10和node v5.7.0命令`npm install npm @ latest -g`无法从npm 2.7.4升级到npm 3.9.3. (3认同)
  • 谢谢这对我有用,非常简单.但我不得不'sudo npm install npm @ latest -g`这就是全部.Upvoted (2认同)
  • 它太简单了谢谢你.它立即为我工作:)许多其他人也没有为我工作. (2认同)

Anm*_*raf 145

我理解这个问题适用于Linux机器,但万一有人正在寻找Windows解决方案,只需转到Node.js站点,单击主页上的下载按钮并执行安装程序.

值得庆幸的是,它完成了一切,只需点击几下"下一步"按钮,我就可以在Windows 7机器上运行最新的0.8.15 Node.js版本.

  • 如果你在Windows上从npm v1.x更新到2.x,你可能在安装或更新npm后删除了"C:\ Program Files \nodejs"中的'npm','npm.cmd'文件.请参阅:https://escapologist.wordpress.com/2014/09/29/update-npm-to-v-2-on-windows-7/ (5认同)
  • 是的。这对我有用。我在窗户上。“n”方法不起作用。希望有更好的方法来做到这一点。 (2认同)
  • 这是在 Windows 上升级节点的最佳且最简单的方法。对我来说效果很好。谢谢安莫尔 (2认同)
  • 我做了这个,但没有更新npm,只有节点本身.还在搜索... (2认同)

Dan*_*.K. 113

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

家酿

如果你在Mac上,你可以使用Homebrew.要使用brew安装NodeJS和NPM:

$ brew install node
Run Code Online (Sandbox Code Playgroud)

稍后您将能够使用更新它

$ brew update && brew upgrade node
Run Code Online (Sandbox Code Playgroud)

NPM也将更新.

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

$ brew switch node 0.10.26
Run Code Online (Sandbox Code Playgroud)

要将brew安装到Mac:

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

ñ

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

轻松安装Node.js版本:

$ n 0.10.26
$ n 0.8.17
$ n 0.9.6
Run Code Online (Sandbox Code Playgroud)

使用(如果缺少则安装)最新的官方发布:

$ n latest
Run Code Online (Sandbox Code Playgroud)

使用/安装稳定的官方发布:

$ n stable
Run Code Online (Sandbox Code Playgroud)

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

$ n prev
Run Code Online (Sandbox Code Playgroud)

如果要查看已安装节点的列表,只需从命令行运行n,输出将如下所示:

$ n

  0.10.26
• 0.8.17
  0.9.6
Run Code Online (Sandbox Code Playgroud)

点(•)表示它是当前活动的版本.要从列表中选择节点版本,请使用updown箭头并激活使用enter.

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

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

NVM

nvm也是如此RVM,即使命令名称和用法也非常相似.

使用以下命令下载,编译和安装Node.js的最新v0.10.x版本nvm:

$ nvm install 0.10
Run Code Online (Sandbox Code Playgroud)

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

$ nvm use 0.10
Run Code Online (Sandbox Code Playgroud)

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

$ nvm use
Run Code Online (Sandbox Code Playgroud)

或者你可以运行它:

$ nvm run 0.10
Run Code Online (Sandbox Code Playgroud)

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

$ nvm ls
Run Code Online (Sandbox Code Playgroud)

要自行安装,nvm您可以使用安装脚本(需要git)cURL:

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
Run Code Online (Sandbox Code Playgroud)

或者wget:

$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
Run Code Online (Sandbox Code Playgroud)

PS

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


Dev*_*vWL 102

首先检查您的NPM版本

npm -v
Run Code Online (Sandbox Code Playgroud)

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

查看curent NPM版本:

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

将npm更新为当前版本:

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


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

查看所有版本,包括"alpha","beta"和"rc"(发布候选版)

npm view npm versions --json
Run Code Online (Sandbox Code Playgroud)

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

npm i -g npm@5.0.3
Run Code Online (Sandbox Code Playgroud)
  • 安装一个版本将自动删除当前安装的版本.

  • 对于Linux和iOS,使用sudo预置命令

  • 我遇到了一系列错误,包括“错误:EACCES:权限被拒绝,取消链接”,使用“sudo”运行上面的命令有效 (3认同)

kay*_*yz1 55

升级Windows用户

Windows用户应阅读npm wiki中的" 故障排除">"在Windows升级".

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

故障排除#regrade-on-windows上面的链接指向github页面npm-windows-upgrade下面的行是自述文件中的引号.我使用node 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    
Run Code Online (Sandbox Code Playgroud)

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

npm install --global --production npm-windows-upgrade
npm-windows-upgrade
Run Code Online (Sandbox Code Playgroud)


And*_*reL 53

第一次更新npm,

npm install -g npm@next

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

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

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

检查版本安装后,

node --version要么 node -v

  • npm得到更新,但节点没有更新. (8认同)

Dev*_*vWL 50

简单使用这个

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

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

在此输入图像描述


B T*_*B T 26

  • 更新节点,请使用nvm(或nvmw for windows).

  • 更新npm,该npm update npm -g命令对我不起作用(在Windows上).根据文档,重新安装npm的工作是:" 你可以从https://npmjs.org/dist/下载一个zip文件,然后将它解压缩到node.exe所在的同一个文件夹中. "确保你这样做你先摆脱以前的安装(虽然覆盖它可能会正常工作......).

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


小智 18

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

我的工作是从1.4.28更新到2.1.5


Moh*_*neh 16

试试最新稳定版的npm

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

npm -v
Run Code Online (Sandbox Code Playgroud)

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

(sudo如果您使用默认安装程序安装了Node,则可能需要在这些命令前加上,特别是在Linux或OS X上.)

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

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

或者升级到最新版本:

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

在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 install 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安装程序直接在npm文件夹中安装一个特殊的Windows特定配置,告诉npm安装全局包的位置.当npm用于自行安装时,应该将此特殊builtin配置复制到新安装中.某些版本的npm中存在一个错误,导致无法正常工作,因此您可能需要手动修复.运行以下命令以查看npm将在何处安装全局程序包以验证它是否正确.

npm config get prefix -g
Run Code Online (Sandbox Code Playgroud)

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

npm config set prefix "${APPDATA}/npm" -g
Run Code Online (Sandbox Code Playgroud)

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

npm config set prefix "${LOCALAPPDATA}/npm" -g
Run Code Online (Sandbox Code Playgroud)

...以及复制%APPDATA%\npm%LOCALAPPDATA%\npm(%PATH%当然还有更新).

在npm工作的每个人都知道这个过程很复杂,而且我们正在努力使它变得更简单.敬请关注.

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


Jus*_*Liu 16

要使用 npm 安装最新版本的 npm:

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

我在 Linux 上运行它,所以我不确定其他操作系统。

在 Linux 上,您还可以运行:

sudo apt-get update
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

这将告诉apt-get包管理器更新和升级所有包。


Phi*_*Lho 15

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

> node -v
v0.12.0
> npm -v
2.5.1
Run Code Online (Sandbox Code Playgroud)

然后我做了上述程序:

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

它升级到v2.7.3.除了做的npm -v还是给了2.5.1.

我去了系统配置面板,高级设置,环境变量.除了全局Path变量之外,我还看到了一个特定于我的用户帐户的PATH变量.
前者指向新的npm:C:\Users\PhiLho\AppData\Roaming\npm
后者包括节点的路径:( C:\PrgCmdLine\nodejs\现在,我避免在程序文件和派生中安装东西.避免路径中的空间,嘈杂无用的保护更安全...)
如果我这样做which npm.cmd(我有安装了Unix实用程序...),它指向Node中的那个.

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

> npm -v
2.7.3
Run Code Online (Sandbox Code Playgroud)

请享用.:-)


Gur*_* BN 14

安装npm =>sudo apt-get install npm

安装n =>sudo npm install n -g

最新版本的node =>sudo n latest

您可以使用特定版本的节点

列出可用节点版本 =>n ls

安装特定版本 =>sudo n 4.5.0


小智 14

你可以试试这个

npm install -g npm@最新


Abh*_*tya 13

适用于Linux,OSX等.

安装最新版本的NPM

npm install -g npm@latest

或者安装最新版本

npm install -g npm@next

附加:检查您的npm版本

npm -v

如果您使用的是Windows机器,我建议您访问npm网站


fiz*_*han 13

只需在终端中以root/administrator身份运行以下命令:

npm i -g n
n stable
npm update -g npm
Run Code Online (Sandbox Code Playgroud)

它在Linux上对我有用


小智 13

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

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


Jas*_*don 11

我最近偶然发现了这篇文章:http://martineau.tv/blog/2013/12/more-efficient-grunt-workflows/,作者提到$ npm-check-updates -u && npm install要更新所有依赖项.

这有点偏离主题,但我最终在这里进行了类似的搜索,所以认为值得分享.


guy*_*uya 10

有时从http://nodejs.org/下载最新版本更简单

尤其是当所有其他选项都失败时

http://nodejs.org/ - >单击"安装" - >您将拥有最新节点和npm

简单!

  • 这对我有用,谢谢。我在获取最新版本时遇到问题,并且在不知不觉中清空 npm 缓存时搞砸了,呵呵。必须(重新)安装 msi(在 Windows 上)才能完全更新。完美地工作。 (2认同)

Vir*_*lke 10

我认为管理node.js的最佳方法是使用NVM NVM代表节点版本管理器。

它是node.js开发人员的必备工具!

您可以使用以下命令安装NVM,打开终端并运行以下任意一项:-

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

要么

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

安装此程序后,建议关闭当前终端并打开一个新终端,因为NVM将添加一些环境变量,因此需要重新启动终端。

我将列出一些使用NVM的基本命令。

  • 这将从互联网上获取所有节点版本。将显示从开始到日期的所有节点版本,同时还会提及LTS版本。
nvm ls-remote 
Run Code Online (Sandbox Code Playgroud)
  • 这将安装所需的节点版本(使用上述命令获取版本列表)
nvm install v10.15.1
Run Code Online (Sandbox Code Playgroud)
  • 此命令将为我们提供本地安装的节点版本的列表
nvm ls
Run Code Online (Sandbox Code Playgroud)
  • 此命令用于从计算机中删除所需的节点版本
nvm uninstall v10.15.1
Run Code Online (Sandbox Code Playgroud)
  • 以下命令将帮助您升级到npm当前节点版本上的最新版本
nvm install-latest-npm
Run Code Online (Sandbox Code Playgroud)
  • NVM可用于同时管理多个节点版本
  • 它还可以帮助您将所有全局npm软件包从一个版本安装到另一个版本,而不是手动安装每个版本!
  • nvm还有许多其他用途,其详细信息和命令可在此处找到。节点版本管理器


Nic*_*nes 9

只是听与NPM队的最新一集的采访nodeup,和他们建议使用update从更新1.x2.x.相反,使用: npm install npm -g


小智 9

只需使用此代码

npm install update
Run Code Online (Sandbox Code Playgroud)


小智 9

要更新npm:

npm install npm@{version} -g
Run Code Online (Sandbox Code Playgroud)

将npm更新到最新版本:

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

并检查版本:

npm -v
Run Code Online (Sandbox Code Playgroud)

更新节点js:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Run Code Online (Sandbox Code Playgroud)

去检查 :

node -v
Run Code Online (Sandbox Code Playgroud)


Dze*_* H. 7

说到Linux我建议使用包管理器更新节点:

Node预先安装了npm,但管理器比Node更频繁地更新.运行npm -v以查看您拥有的版本,然后npm install npm@latest -g安装最新的npm更新.运行npm -v如果你想确保NPM正确更新一次.

要更新NodeJS,你需要npm的方便n模块.运行此代码以清除npm的缓存,安装n,并安装最新的稳定版本Node:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Run Code Online (Sandbox Code Playgroud)

要安装最新版本,请使用n latest.或者,您可以运行n#.#.#来获取特定Node版本.


说到Windows/ macOS我建议在Nodejs.org上使用安装程序

Node.js下载页面包含Windows和macOS的二进制包 - 但为什么会让你的生活变得更加困难?预先安装的安装程序--.msi for Windows和.pkg for macOS - 使安装过程难以置信,高效且易于理解.下载并运行该文件,让安装向导完成剩下的工作.每次下载更新时,较新版本的Node和npm将替换旧版本.

或者,macOS用户可以使用上面的npm和n指令.


在更新您的node_modules依赖项文件夹时,我建议您跳过所有可能导致您头疼的事情,然后转到您的特定项目并重新运行npm install.

在任何人这样做之前,我建议先检查您的package.json文件以获取以下信息:

作为NodeJS软件包的用户,您可以指定应用程序可以在package.json文件中接受哪些类型的更新.例如,如果您从软件包版本1.0.4开始,则可以通过以下三种基本方式指定允许的更新版本范围:

允许修补程序版本:1.0或1.0.x或~1.0.4
允许次要版本:1或1.x或^ 1.0.4
允许主要版本:*或x

说明:

当存在不兼容的API更改时的 MAJOR版本.- >~

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

用于向后兼容的错误修复时的 PATCH版本.- >*


小智 7

使用 NVM 管理 node 版本,它会自动管理 npm。


Lia*_*lay 7

国家公共管理

根据文档

操作系统和Linux

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

Windows(在 Powershell 中):

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install --global --production npm-windows-upgrade
npm-windows-upgrade
Run Code Online (Sandbox Code Playgroud)

NodeJS

只需从这里下载安装程序:https://nodejs.org/en/

您可以使用 NPM 更新 NodeJS npm install -g node,但不建议这样做。


小智 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
Run Code Online (Sandbox Code Playgroud)

是的,您需要先安装wget.


hao*_*ang 6

如果您使用的是 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
Run Code Online (Sandbox Code Playgroud)

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


Abo*_*ian 6

对于nodejs应该卸载它并从nodejs.org下载你最喜欢的版本,以便在cmd下面的npm下运行:

npm i npm
Run Code Online (Sandbox Code Playgroud)


小智 6

我找到了一个可以帮助更新所有 npm 包的插件。

首先,你需要安装一个 npm-check-updates 插件。这里是链接npm-check-updates

npm i -g npm-check-updates
Run Code Online (Sandbox Code Playgroud)

所以这个实用程序是全局安装的,您可以通过简单地编写如下来调用它。

1)ncu -u 这里 ncu 是 npm 检查更新。

2) npm install

所以有了这两个命令,你就可以轻松更新 npm 包了,希望可以帮助你轻松更新包。


Par*_*dav 6

已经很晚了,但我给出了我的答案,以便它可以帮助被困在那里的人。如上所述,您可以通过多种方式进行更新,因此我在这里讨论的是最流行和最简单的更新nodejs 和 npm 的方法

 1)Update via library n 

 2)Update via nvm
Run Code Online (Sandbox Code Playgroud)

打开你的终端我使用的是 Ubuntu (Linux)

1)您可以将 n 安装为任何节点模块(全局)

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

或者

如果需要,您也可以从源代码安装

cd /tmp
git clone --depth=1 https://github.com/tj/n
cd n
sudo make install
Run Code Online (Sandbox Code Playgroud)

安装后点击以下命令安装最新版本的节点

n latest 

now check node -v (you see the latest version is installed)
Run Code Online (Sandbox Code Playgroud)

它将安装最新的稳定版本的节点。

n stable
Run Code Online (Sandbox Code Playgroud)

或者您可以通过添加针对 n 的版本号来安装任何版本,例如

n 0.10.33          # Install and use v0.10.33
Run Code Online (Sandbox Code Playgroud)

您可以在以下链接中查看有关 n 的更多信息,请单击此处

2)现在使用NVM 安装的第二种方法

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

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

安装后点击以下命令安装最新版本的节点

nvm install node 
Run Code Online (Sandbox Code Playgroud)

您可以使用 ls-remote 列出可用版本:

nvm ls-remote
Run Code Online (Sandbox Code Playgroud)

如果要安装特定版本

nvm install 6.14.4 
Run Code Online (Sandbox Code Playgroud)

安装后使用任何版本

nvm use node
Run Code Online (Sandbox Code Playgroud)

将 npm 更新为最新的

nvm install-latest-npm
Run Code Online (Sandbox Code Playgroud)

希望它会有所帮助!


小智 6

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

如果您已经安装了 npm,则可以在终端中运行上述代码来更新您的节点包管理器。如果你没有 npm 你可以使用

sudo apt-get install npm
Run Code Online (Sandbox Code Playgroud)

然后你可以通过上面的方法更新它


Jyo*_*han 5

此外,如果您想要更新到特定版本,请按照下列步骤操作:

sudo npm cache clean -f
sudo npm install -g n
sudo n <specific version>
Run Code Online (Sandbox Code Playgroud)

  • `npm使用--force警告我肯定希望您知道自己在做什么。 (2认同)

ank*_*aha 5

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

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

这仅适用于 Linux 和 MAC


yaw*_*tom 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
Run Code Online (Sandbox Code Playgroud)

注意,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
Run Code Online (Sandbox Code Playgroud)

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

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs
Run Code Online (Sandbox Code Playgroud)

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

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


use*_*737 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
Run Code Online (Sandbox Code Playgroud)

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

$ npm -v
6.5.0
$ node -v
v10.15.0
Run Code Online (Sandbox Code Playgroud)


Sni*_*vio 5

处理节点版本的最佳方法是在安装后使用 NVM 或节点版本管理器,使用以下命令:

nvm list (shows you the list of installed nodejs version)
nvm install nodeversion   (to install the node version, if latest use  @latest) 
nvm use 10.515..   (to use a perticular node version)
Run Code Online (Sandbox Code Playgroud)


小智 5

首先,您检查到最新版本

npm -v

然后通过这个 cmd 更新 npm

npm install -g npm@latest (在终端中点击此命令)

并现在检查到最新版本我非常确定你 npm 版本升级

npm -v

您也可以从这里的链接下载最新版本:-

https://nodejs.org/en/

在此处输入图片说明

如果您使用 linux,请访问此 stackoverflow 问题

/sf/answers/4591516331/


小智 5

如果您使用的是Windows操作系统,请按照说明进行操作

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

如果您使用的是ubuntu,您还可以在终端中使用以下命令

  sudo apt-get update
  sudo apt-get upgrade
  sudo npm install npm@latest
Run Code Online (Sandbox Code Playgroud)

首先,检查你的NPM版本

 npm -v
Run Code Online (Sandbox Code Playgroud)

查看当前NPM版本:

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

将 npm 更新到当前版本:

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

快乐编码,享受生活!此外,如果您遇到任何困难,请告诉我。