ChatGPT解决这个技术问题 Extra ChatGPT

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

我刚刚安装了 Node.js 和 NPM(节点包管理器)

我安装了 NPM 以访问其他 Node.js 模块。

安装 Node.js 和 NPM 后,我注意到两者都没有最新版本。

我想知道:如何将 Node.js、NPM 和我的 Node.js 模块升级到最新版本?

我需要卸载 Node.js 和 NPM 并重新安装最新版本吗?

Here is the link to what I have tried so far。此链接是来自 npm 的部分。

有人指出,更新 npm 的更正确方法是使用 nodesource.com 请参阅 stackoverflow.com/a/24760147/544463
How to update npm 的可能重复项
@Motocarota 看看日期,其他问题与这个问题重复......
有一个工具 nvm 可以让您选择拥有多个运行版本的 node+npm
自从第一次被问到(如果您不需要版本管理)以来,情况已经变得更好。请参阅Update Node (Windows, Mac & Linux)

r
ruohola

利用:

npm update -g npm

请参阅 update 命令的文档:

npm update [-g] [...] 此命令会将列出的所有软件包更新到最新版本(由标签配置指定),尊重 semver。

此外,请参阅有关 Node.js and NPM installationUpgrading NPM 的文档。

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

如何更新 npm? npm install -g npm 请注意,此命令将删除您当前版本的 npm。如果在 Mac 上,请确保使用 sudo npm install -g npm。您还可以通过执行不带任何参数的 npm update 来更新所有过时的本地包,或者通过执行 npm update -g 来更新全局包。有时,npm 的版本会进步,以至于当前版本无法与您已经安装的版本一起正确安装。 (考虑一下,如果更新命令中存在错误。)在这些情况下,您可以这样做: curl https://www.npmjs.com/install.sh |嘘

要更新 Node.js 本身,我建议您使用 nvm, the Node Version Manager


npm update npm -g 在 Windows 上对我不起作用 - 它在没有输出的情况下完成,但 npm 保持相同的版本(最新版本为 1.3.14 时为 1.3.11)
也有 curl 跟随重定向 -L curl -L https://npmjs.org/install.sh | sudo sh
我按照你说的 npm update npm -g 做了,现在我没有 npm 作为命令。
使用 npm 安装自身的新版本。我闻到东西爆炸的味道。
不要使用 sudo npm install -g npm!这将卸载它!
n
nkh

我发现这种在 David Walsh's blog 上更新节点的非常巧妙的方法,您可以通过安装 n 来做到这一点:

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

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

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

nvm ls-remote
nvm install <version> 
nvm use <version>

拒绝为 windows x64 运行(但显然在 win32 上运行)。这与 Node.js 项目不符。
不支持 Windows。我意识到只使用 Linux 会更容易,但在工作中,我不能自由选择我的操作系统。正如@rainabba 所说,Node.js 项目的精神是跨平台,但事实并非如此。
在 Windows 中,您可以简单地下载最新版本的 node 并安装它。它将同时升级节点和 npm。
你为什么说'请不要再使用n'?有什么特别的原因吗?
我不知道为什么 David Walsh 当时说 n 不稳定,但那个博客是六年前的,n 仍在维护中。重复其他评论者,n 不在 Windows 上运行。 nvm 也没有。
l
lxe

更新 npm 很简单:

npm install npm@latest -g

这会导致致命错误,至少对于 mac 用户 see here
使用 Windows 10 和节点 v5.7.0 命令 npm install npm@latest -g 未能从 npm 2.7.4 升级到 npm 3.9.3。
谢谢这对我有用,它非常简单。但我不得不sudo npm install npm@latest -g仅此而已。赞成
太简单了,谢谢。它立即对我有用 :) 其他许多人也不适合我。
A
Aurora0001

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

谢天谢地,它处理了所有事情,只需单击几下“下一步”按钮,我就在我的 Windows 7 机器上运行了最新的 0.8.15 Node.js 版本。


是的。这对我有用。我在窗户上。 n 方法不起作用。希望有更好的方法来做到这一点。
这是在 Windows 上升级节点的最佳和最简单的方法。为我工作得很好。谢谢安摩尔
如果您在 Windows 上从 npm v1.x 更新到 2.x,在安装或更新 npm 后,您可能已经从“C:\Program Files\nodejs”中删除了“npm”、“npm.cmd”文件。请参阅:escapologist.wordpress.com/2014/09/29/…
之后别忘了重启!
这适用于 Windows 10,以及 Node 和 npm 更新。非常光滑。
D
Dan K.K.

您可能已经知道,npm 当前与 node.js 捆绑在一起。这意味着如果您安装了 node.js,那么您也已经安装了 npm。

此外,请注意向我们显示大致版本兼容性的 node.js and npm release versions table。有时,版本差异可能会导致不兼容错误。

因此,如果您是开发人员,使用其中一个 node.js 版本管理器来管理您的开发环境是一种“最佳实践”。

以下是一些最受欢迎的列表和使用说明:

自制 (macOS)

如果您使用的是 macOS,则可以使用 Homebrew

实际上,它不仅仅是一个 node.js 版本管理器。

要将 Homebrew 安装到您的 Mac:

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

要使用 Homebrew 安装 node.js 和 npm,请运行:

$ brew install node

稍后,您将能够使用以下方法更新它们:

$ brew update && brew upgrade node

此外,您还可以在 node.js 版本之间切换:

$ brew switch node 0.10.26

npm 将自动升级/降级。

n (macOS, Linux)

n 最有可能是 rvm(Ruby 版本管理器),用于同时管理 node.jsnpm 版本。它是在纯 Linux shell 上编写的,可作为 npm module 使用。因此,如果您已经安装了任何 node.js 版本,您可以通过 npm安装/更新 n 包:

$ npm install -g n

下载、安装和切换到 node.js 和 npm 版本非常简单:

$ n 0.10.26
$ n 0.8.17
$ n 0.9.6

要下载、安装并切换到最新的官方版本,请使用:

$ n latest

要下载、安装并切换到最新的稳定官方版本,请使用:

$ n stable

要切换到以前的活动版本(又名 $ cd -),请使用:

$ n prev

如果您想查看已安装 node.js 版本的列表,只需从命令行运行 n。输出将类似于以下内容:

$ n

  0.10.26
• 0.8.17
  0.9.6

点 (•) 表示它是当前活动的版本。要从列表中选择另一个 node.js 版本,请使用 Up/Down 箭头键并使用 Enter 键激活。

要列出可安装的版本:

$ n lsr

nvm (macOS, Linux)

nvm 也与 rvm 类似,甚至命令名称和用法都非常相似。

要安装 nvm,您可以通过 cURL 使用 installation script(需要 git):

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

wget

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

要下载并安装特定的 node.js 和 npm 版本,请使用:

$ nvm install 0.10

然后,您可以使用以下命令切换到已安装的版本:

$ nvm use 0.10

此外,您可以创建包含版本号的 .nvmrc 文件,然后使用以下命令切换到指定版本:

$ nvm use

要查看已安装的 node.js 版本列表,请使用:

$ nvm ls

要列出可安装的版本:

$ nvm ls-remote

nvm-windows (Windows)

nvm-windows 是一个用于 Windows 的 node.js 版本管理实用程序,讽刺的是用 Go 编写的。

它与 nvm 不同。但是,作为 node.js 版本管理器的用法非常相似。

要安装 nvm-windows,需要事先卸载任何现有版本的 node.jsnpm。然后,下载并运行 latest installer from releases

要升级 nvm-windows,请运行新的安装程序。它将安全地覆盖它需要更新的文件,而无需触及您的 node.js 安装。

nvm-windows 在管理 shell 中运行。您需要以管理员身份启动 Powershell 或命令提示符才能使用 nvm-windows。

在使用之前,您可能还需要使用以下命令启用 nvm-windows:

C:\> nvm on

要下载并安装特定的 node.js 和 npm 版本,请使用:

C:\> nvm install 0.12

然后,您可以使用以下命令切换到已安装的版本:

C:\> nvm use 0.12

如果要查看已安装的 node.js 版本列表,请使用:

C:\> nvm list

要列出可安装的版本:

C:\> nvm list available

我喜欢这个答案。 +1!但是,如果附上一些关于不同包管理器的解释,那就更有用了。 IE;为什么我应该使用其中一个。我真的会帮助提供上下文..
使用命令“brew update && brew upgrade node”,npm 不会更新到最新版本,如前所述“...NPM 也将更新..”
我通常喜欢自制软件,但事实上它需要更新才能升级 npm 非常缓慢......
您能否解释一下“npm 将自动升级/降级”。这是哪个命令?
A
Antoine

首先检查你的 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 前置命令


我遇到了一系列错误,包括 Error: EACCES: permission denied, unlinksudo 上运行的命令有效
@DevWL,我现在正在尝试您的解决方案。当我运行 npm view npm versions --json 命令时,我得到了大量从“1.4.26”-“7.0.0-beta.12”开始的版本列表,所以我正在运行 npm i -g npm@6.14.8——它似乎需要而(当前 fetch -> lock 正在运行但看起来挂起)手指交叉
s
surfmuggle

为 Windows 用户升级

Windows 用户应阅读 npm wiki 中的 Troubleshooting > Upgrading on Windows

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

Troubleshooting#upgrading-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    

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

npm install --global --production npm-windows-upgrade
npm-windows-upgrade

或者直接运行: npm install -g npm
不,Gal,您对问题感到困惑,运行 npm install -g npm 在 Windows 上不起作用,您是否阅读过 Windows 用户遇到的问题(上面列出的?)。使用 Surf 的答案中所示的 Powershell 方法。谢谢smurf,终于成功升级了yeeehaaaa!
B
Binod Pariyar

第一次更新 npm

npm install -g npm@next

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

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

npm install -g node@latestnpm install -g node

版本安装后检查,

node --versionnode -v


D
DevWL

简单地使用这个

npm i -g npm

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

https://i.stack.imgur.com/CdKR2.png


运行此程序后,我必须退出 bash 终端并重新启动以查看更改。因为在更新过程中 pathnpm 发生了变化,并且由于某种原因它继续执行旧版本,当您执行 npm -v 时当然会显示旧版本
B
B T

要更新节点,请使用 nvm(或用于 Windows 的 nvmw)。

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

要更新您的模块,请使用 npm update 命令


npm update npm -g 为我工作。我运行 OSx,并通过自制软件安装了节点,但是,如果您已经像我一样运行了最新的节点版本,则 brew upgrade node 将不会运行。小菜一碟。
npm install -g npm@latest 在 Windows8 上为我工作stackoverflow.com/a/29023180/588759
@rofrol 我尝试了该命令,但它在 Win 8.1 上对我不起作用。即使我以前的版本是 6.10.xnpm 仍然有旧版本 3.8.0。对于 Angular,我需要将 npm 升级到至少 6.11.x。现在我似乎无法摆脱旧版本。
V
Viraj Shelke

我认为管理 node.js 的最佳方式是使用 NVM NVM 代表 Node Version Manager。

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

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

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

或者

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

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

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

这将从 Internet 获取所有节点版本。将显示从开始到日期的所有节点版本,它还会在旁边提到 LTS 版本。

nvm ls-remote 

这将向您展示您应该使用的推荐的 npm 和节点版本。 (这仅在您已经安装了 npm 版本时才有效,如果不使用上述命令)

npm doctor

这将安装您想要的节点版本(使用上述命令获取版本列表)

nvm install <version recommended by 'npm doctor' or 'nvm ls-remote'>

例如 nvm install v14.18.1

此命令将为我们提供本地安装的节点版本列表

nvm ls

此命令用于从计算机中删除您想要的节点版本

nvm uninstall v10.15.1

以下命令将帮助您在当前节点版本上升级到最新的工作 npm

nvm install-latest-npm

NVM 可用于同时管理多个节点版本

它还可以帮助您将所有全局 npm 包从一个版本安装到另一个版本,而不是手动安装每个版本!

nvm 还有许多其他用途,其详细信息和命令可以在这里找到 Node Version Manager


感谢@lightwing 更新链接! :)
C
Community

尝试最新的稳定版 npm

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

npm -v

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

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

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

npm install -g npm@latest

或升级到最新版本:

npm install -g npm@next

在 Windows 上升级

默认情况下,npm 安装在 node 旁边

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 上,它将始终使用与 node 一起安装的 npm 版本,而不是您使用 npm -g install npm@<version> 安装的 npm 版本。

要解决此问题,您可以执行以下操作之一:

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

选项 2:同时删除 %ProgramFiles%\nodejs\npm %ProgramFiles%\nodejs\npm.cmd

%ProgramFiles%\nodejs\npm

%ProgramFiles%\nodejs\npm.cmd

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

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

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

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

选项 3 将 npmrc 文件复制回 %ProgramFiles%\nodejs\node_modules\npm

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

关于内置 Windows 配置的简要说明

Node 安装程序直接在 npm 文件夹中安装一个特殊的 Windows 特定配置,它告诉 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


如果 devWL 的解决方案不起作用,我将尝试您的解决方案。感谢您的深入回答。在这一点上,我想知道我是否应该卸载 Node 和 NPM——我花了一整天的时间来尝试解决这个问题,以便我可以运行 Angular 应用程序。我今天安装了 Node 12.18.4,并认为它会更新 npm,但是,当我现在运行 npm -v 时,我得到了 3.8.0 作为版本,而它以前是 6.10.x。令人沮丧...
A
Arkadiusz Rosłaniec
$ npm install -g npm stable

帮助我从 1.4.28 更新到 2.1.5


Y
Yash Karanke

安装 npm => sudo apt-get install npm

安装 n => sudo npm install n -g

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

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

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

安装特定版本 => sudo n 4.5.0


J
Justin Liu

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

sudo npm install npm@latest

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

在 Linux 上,您还可以运行:

sudo apt-get update
sudo apt-get upgrade

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


对于 Linux 用户。要解决“错误:EACCES:权限被拒绝”,您可以在运行 npm install 之前使用 sudo 命令。 sudo npm i npm@latest
或者,如果您不想使用 sudo,可以以 root 身份登录
通常会想要npm install npm -g,对吧?
P
PhiLho

我刚刚在一台新的 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\(现在,我避免在程序文件和派生中安装东西。避免路径中的空格和嘈杂的无用保护更明智...)
如果我这样做 which npm.cmd(我安装了 Unix 实用程序...),它指向一个在节点。

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

> npm -v
2.7.3

享受。 :-)


您是否将其作为环境变量路径中的最后一个条目?
@Chris22 这并不重要,重要的是 npm 的路径在 nodejs 的路径之前。而且,当然,在这些之前,您必须没有其他相同名称的路径!
谢谢。我会记住这一点。我仍然不明白为什么当我前几天安装节点 12.x 时,我的 npm 版本在版本 6.x.x 时会倒退到 3.8.x
A
Abhishta Gatya

对于 Linux、OSX 等。

安装最新版本的 NPM

npm install -g npm@latest

或安装最新版本

npm install -g npm@next

附加:检查您的 npm 版本

npm -v

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


最新的和最新的有什么区别?
@Chris Lang 最近是最新版本,但最新的是最新的稳定版本
J
Jason Lydon

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

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


david-dm.org 这只是作为我引用的帖子的评论出现的。看起来很完美...
需要明确的是,npm-check-updates 是另一个需要安装的软件包。
f
fiza khan

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

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

它在 Linux 上对我有用


g
guya

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

特别是当所有其他选项都失败时。

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

简单的!


绝对更简单,但并不总是有效。我一直在为上述所有建议以及更多建议而苦苦挣扎 - 没有一个在我的 Mac 上有效。去 nodejs.org 修复它。
在这种情况下,您可能一开始就以一种糟糕的方式安装了它。 Node/npm 是您想要为安装添加前缀的其中之一,因此您不需要 sudo 来完成所有操作。
我可能使用 brew 或安装程序正常安装它。它可能是特定 npm 版本中的特定错误。我可能永远不会知道,它可能无关紧要 - 自从使用 npm update 以来,它的更新非常完美。
这对我有用,谢谢。我在更新最新版本时遇到了问题,当我在不知不觉中清空 npm 缓存时搞砸了,呵呵。必须(重新)安装 msi(在 Windows 上)才能完全更新。工作完美。
如果您使用的是 OS X 或 Windows,安装或更新 Node.js 和 npm 的最佳方法是使用 Node.js 下载 link 中的安装程序之一,当我下载并解压缩时,它只是更新了节点和我的 macbook pro os x 10.13 上的 npm 版本。
M
Muhammad Habib Jawady

要更新 npm :

npm install npm@{version} -g

将 npm 更新到最新版本:

npm install npm@latest -g

并检查版本:

npm -v

更新节点 js:

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

去检查 :

node -v

N
Nick Benes

刚刚听了 npm 团队对最新一集 nodeup 的采访,他们建议不要使用 update 来更新从 1.x2.x。相反,请使用: npm install npm -g


a
andrea404

只需使用此代码

npm install update

J
JGleason

对于Linux,我建议使用包管理器更新节点:

Node 预装了 npm,但是管理器的更新比 Node 更频繁。运行 npm -v 查看您拥有的版本,然后 npm install npm@latest -g 安装最新的 npm 更新。如果您想确保 npm 正确更新,请再次运行 npm -v

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

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

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

对于 Windows/ macOS,我建议使用 Nodejs.org 上的安装程序

Node.js 下载页面包括适用于 Windows 和 macOS 的二进制包——但为什么要让你的生活变得更加困难呢?预制的安装程序——Windows 的 .msi 和 macOS 的 .pkg——使安装过程变得非常高效和易于理解。下载并运行该文件,然后让安装向导完成其余工作。随着每次下载更新,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

解释:

MAJOR 版本,用于不兼容的 API 更改。 --> ~

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

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


S
Samuel Reyes

你可以试试这个

npm install -g npm@latest


A
Abolfazl Miadian

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

npm i npm

u
user2314737

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

这是我在使用 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

T
The.lYNCAN
npm install -g npm@latest

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

sudo apt-get install npm

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


J
Jyoti Duhan

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

sudo npm cache clean -f
sudo npm install -g n
sudo n <specific version>

npm WARN using --force I sure hope you know what you are doing.
P
PURVESH PATEL

使用 NVM 管理节点版本,它会自动处理 npm。