将 Node.js 升级到最新版本

Posted

技术标签:

【中文标题】将 Node.js 升级到最新版本【英文标题】:Upgrading Node.js to latest version 【发布时间】:2012-04-21 23:45:57 【问题描述】:

所以,我已经安装了 Node.js,现在当我尝试安装 Mongoosejs 时,我收到一条错误消息,告诉我我没有所需的 Node.js 版本(我有 v0.4.11 并且需要 v0.4.12 )。

如何升级到这个版本?我想我可以用最新版本再次安装它,但在我确定文件夹“node”中的项目文件夹不会被删除之前,我不想这样做。

【问题讨论】:

对于 windows,只需使用最新的安装程序重新安装 nodejs。 我在windows上重新安装了nodeJS几次但没有帮助,我认为它与visual studio 2015有关 How do I update Node.js?的可能重复 【参考方案1】:

Ubuntu Linux/Mac:

n 模块让版本管理变得简单:

npm install n -g

对于最新的稳定版本:

n stable

最新版本:

n latest

窗口:

只需从node website 的 Windows 中的 .msi 重新安装节点。

【讨论】:

"npm install -g n" 做到了! @ZenMaster 只需从节点网站的 Windows 中的 .msi 重新安装节点。不需要n OSX Yosemite,npm install n -g && n stable 为我工作。如果之前没有安装节点,则不需要sudo 这个答案已经过时了。安装/升级 nodejs 的最佳方式是在此处使用 Node Version Manager:github.com/creationix/nvm 或 read this answer below 使用命令'node -v'查看升级是否成功时,记得打开一个新的终端,否则你仍然会看到旧版本显示。【参考方案2】:

所有平台(Mac、Linux 和 Windows)2021

如果您只需要将旧版本的 Node.js 升级到最新版本并且不需要多个版本,只需覆盖您现有的可执行文件新的。

从nodejs.org/en/download下载最新的Node.js

这个就行了! TM 适用于所有平台,是最简单/最快的方法。 当您在终端中运行 node -v 时,您将看到最新版本。

Mac

如果您最初使用 brew 安装 Node.js,则运行:

brew upgrade node

管理 Node.js 的多个版本:

如果您需要在您的机器上运行多个版本的 Node.js,例如如果您有一个针对 AWS Lambda 上特定版本的旧项目,那么 NVM(节点版本管理器)是您的朋友!

第 1 步 - 获取NVM

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

如果您对安装命令好奇阅读source code ...它已审查 几个 node.js security experts

第二步 - 安装你需要的node.js版本

获得 NVM 后,您可以使用 nvm 命令安装 特定 版本的 Node.js:

nvm install v14.17.6

注意:您可能需要关闭并重新打开终端窗口才能使用nvm 命令。

您应该会在终端中看到类似的内容:

Now using node v14.17.6

您的机器上现在拥有最新的 Node.js。 如果您需要临时切换到不同/以前的版本,您可以使用简单的nvm 命令来完成。

注意:避免在 Node/NPM 中使用 sudo,因为它违反了安全性 principal of least privilege

在管理多个 Node.js 版本方面,

NVM 被认为比 N更好”,因为 verbose 命令意味着非常更容易跟踪您在终端/SSH 日志中所做的事情。它被NPM Node.js 世界的创建者/保管人的团队使用!

【讨论】:

Windows 中都不支持它们。 NVM 建议 nvmw 和 nvm-windows “既不支持也不由 NVM 开发”,我还没有测试过。 @nelsonic 你的回答太棒了 我已经使用nvm-windows 有一段时间了。看起来很扎实。 我看了一下第一步,我已经不喜欢这个解决方案了。 curl 命令在 nvm 上包含一个版本号。我宁愿有一个安装最新版本的命令。 nvm 会自己处理吗?我也不喜欢第 2 步。我更喜欢安装最新版本的命令,并且不需要我知道版本号。 @redOctober13 听起来您需要修复您的权限。请参阅:github.com/nvm-sh/nvm/issues/1164#issuecomment-248749969 您应尽可能避免使用sudo(root 访问权限)。 它在 ubuntu 18.04 上工作我得到了最新版本:nvm install v12.6【参考方案3】:

通过 npm:

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

您也可以指定所需的版本:

n 0.8.21

reference

【讨论】:

对我不起作用。安装 n stable 后仍然显示 v0.10 您使用的是哪个发行版?【参考方案4】:

在 Windows 上从 https://nodejs.org/download/release/latest/ 下载最新的“Windows Installer (.msi)” 并安装相同的目录,仅此而已...

完成以上安装后,NodeJS和NPM会升级到最新的,然后你就可以正常清理包了:

npm cache clean
npm update -g

注意

您可以随时使用以下命令检查版本:

C:\node -v
v0.12.4

C:\npm -version
2.10.1

【讨论】:

我已经安装了这些版本的节点并且我已经安装了 Windows 10。我已经在全球范围内安装了 express 和 jam,但在我的项目中 npm install express 不起作用。你有什么解决办法吗? 现在你应该运行 npm cache verify 而不是 npm cache clean【参考方案5】:

所有平台(Windows、Mac 和 Linux)

2021 年 5 月更新

就是这样,伙计们。它过去更加复杂,人们使用不同类型的包和策略来管理它。但是事情已经变得更好了。

只需转到nodejs.org 并使用最新的安装程序。

【讨论】:

这行得通 - 但首先必须手动删除现有的二进制文件。为了安全起见,我复制到了备份位置mv /opt/local/bin/node ~/tmp/ @gnB 你遇到了什么错误?我会把它包括在答案中。 这是在使用 Firebase CLI 时出现的,需要安装最新的节点。我没有收到错误 - 但是每次我尝试运行 CLI 命令firebase deploy 时,它都会一直引用其中包含0.12.12 的旧版本/安装.. 所以firebase 一直给我一个错误说我需要升级。在我做了删除行(来自我最初的评论)之后,检测到正确的 6.x 版本/安装 刚刚下载最新版本,安装,进入命令提示符输入node -v,立即看到变化。 只是为经验不足的人添加,下载二进制文件后,有一些安装过程,如下所述:medium.com/@tgmarinho/…。【参考方案6】:

在 Windows 上将 node.js 升级到最新版本

    如果您还没有安装 Chocolatey: Installing Chocolatey

    在命令提示符下,键入

    cup nodejs

(相当于输入choco upgrade nodejs——假设您已经安装了节点)

注意:您可能需要运行 cinst nodejs.install for Chocolatey 来注册您现有的安装。 (感谢@mikecheel 的评论)


在 Windows 上安装 node.js

如果您从未安装过 node,您也可以使用 Chocolatey 来安装。安装巧克力(参见上面的步骤 1)。然后在命令提示符下键入:

cinst nodejs.install

Chocolatey Gallery Node JS (Install)


用巧克力在 Windows 上安装特定版本的节点

cinst nodejs.install -Version 0.10.26

【讨论】:

我必须运行 choco install nodejs.install 才能看到我现有的安装。 确保以管理员身份运行命令提示符。 (巧克力会警告你) 有趣的是我安装了 node v 6,但是当我尝试运行 cup nodejs 时,它告诉我根本没有安装 nodejs。它询问我是否要安装,我选择了是。当我运行 node -v 我得到版本 10.7.0 所以一切都很好!谢谢!【参考方案7】:

在将 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/node

用于将 Node.js 升级到最新版本

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

这种升级节点的方法现在不稳定,不应该使用。管理 Node.js 版本的最好方法是使用 NVM:Node Version Management。!

安装

您可以在 nvm [GitHub 页面][1] 上阅读安装步骤。安装和配置只有两个简单的步骤。 使用非虚拟机

如果您使用许多不同的 Node.js 实用程序,您就会知道有时您需要快速切换到其他版本的 Node.js,而无需占用整个机器。这就是您可以使用 nvm 下载、安装和使用不同版本的 Node.js 的地方:

nvm install 4.0

在任何给定时间,您都可以使用 use 切换到另一个:

nvm use 0.12

【讨论】:

这解决了我的问题。显然,更新节点后需要链接到较新版本【参考方案8】:

适用于 Mac OSX 上的 brew 用户

brew upgrade node

产生:

Andrews-MacBook-Air :: ~/dev/cookiecutter-ionic ‹master*› » brew upgrade node
==> Upgrading 1 outdated package, with result:
node 0.12.7
==> Upgrading node
==> Downloading https://homebrew.bintray.com/bottles/node-0.12.7.yosemite.bottle
######################################################################## 100.0%
==> Pouring node-0.12.7.yosemite.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
?  /usr/local/Cellar/node/0.12.7: 2726 files, 31M

【讨论】:

【参考方案9】:

安装 npm =>

sudo apt-get install npm

安装n =>

sudo npm install n -g

节点的最新版本 =>

sudo n latest 

因此将下载并安装最新版本

具体版本节点可以

列出可用的节点版本 =>

n ls

安装特定版本 =>

sudo n 4.5.0

【讨论】:

【参考方案10】:

我在 Ubuntu 中有节点版本 v7.10.0

使用以下命令升级

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

现在升级到v8.2.1

sudo apt-get install make
sudo curl -L https://git.io/n-install | bash
. /home/$USER/.bashrc

# Below command should get the latest version of node
node --version

# Install specific version of node
n 8.2

# Check for the Node Version installed
node --version

【讨论】:

【参考方案11】:

sudo npm install n -g sudo n 0.12.2

sudo npm install -g n sudo n latest

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

这些都很好用。但是对于UX term 终端node -v 没有显示最新版本,所以我关闭并重新打开了新终端。我找到了v10.1.0node-v 安装后的输出sudo n latest

【讨论】:

【参考方案12】:

在 Mac OSX 上使用 brew 和 nvm:

如果您不使用 nvm,请先卸载 nodejs。如果尚未安装,请安装 Homebrew。然后安装nvm和node:

brew install nvm
nvm ls-remote    # find the version you want
nvm install v7.10.0
nvm alias default v7.10.0    # set default node version on a shell

您现在可以在需要时轻松切换节点版本。

奖励:如果您在使用 nvm 时看到“tar:无效选项”错误,brew install gnu-tar 并按照 brew 提供的说明设置 PATH。

【讨论】:

【参考方案13】:

我的 2c:

我在 Linux Ubuntu 12.04 LTS 上尝试使用 n 和 nvm,以便将节点从 v0.8.25 更新到 v0.10.22。

第一个已成功完成,但命令“哪个节点”导致旧 v0.8.25。 第二个成功完成,同样的命令生成 v.0.10.22。

【讨论】:

【参考方案14】:
brew upgrade node

将升级到最新版本的节点

【讨论】:

【参考方案15】:

如果您使用的是 Linux .. 只需执行以下步骤 sudo -i sudo apt install curl curl -sL https://deb.nodesource.com/setup_10.x | sudo bash - sudo apt-get install -y nodejs 你现在应该有最新版本了

【讨论】:

简单但有效。谢谢。【参考方案16】:

您无需担心升级过程

您可以使用官方文档安装最新版本,就像您没有安装它一样,它会像魅力一样工作。 > https://nodejs.org/en/download/package-manager/ ;)

【讨论】:

迄今为止最简单的答案!很容易忘记,有一个非常好的 Node 安装程序,它的工作方式与其他任何安装程序一样(除非您迫切需要使用 CLI)。【参考方案17】:

在 Windows 操作系统中非常简单。

您不必卸载旧节点或 npm 或其他任何东西。

只要去nodejs.org

然后查找适用于 Windows 的下载选项,然后在该选项下方单击当前...最新功能选项卡并按照自动说明进行操作

它将为您下载最新的节点和 npm 并丢弃旧的。

【讨论】:

【参考方案18】:

打开 node.js 项目的 package.json 文件,将依赖项中用 * 指定的版本号替换为最新版本。

【讨论】:

【参考方案19】:

如果你正在寻找 linux..

npm update 将不起作用,主要是不确定原因,但以下步骤将帮助您解决问题......

将节点 4.x 升级到 6.x 的终端过程。

 $ node -v
 v4.x

检查节点路径

$ which node
/usr/bin/node

从 [下载][1] 下载最新 (6.x) 节点文件

[1]:https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz 和解压缩文件保存在 /opt/node-v6.9.2-linux-x64/ 中。

现在取消链接当前节点并链接到最新的如下

$ unlink /usr/bin/node
$ ln -s /opt/node-v6.9.2-linux-x64/bin/node node
$ node -v
$ v6.9.2

【讨论】:

【参考方案20】:

There 很好地解释了 linux 用户如何逐步更新节点版本。 P.S 输入而不是 sudo n stable sudo n latest 以接收最新的节点版本。

如果您收到以下错误

错误:模块版本不匹配。预期 48,得到 46。

您刚刚通过以下命令 npm rebuild 重建了 npm,它应该可以解决问题。

【讨论】:

【参考方案21】:

对于 Windows 用户,只需访问 node.js (nodejs.org) 网站并下载最新版本(截至 2017 年 9 月 29 日的 8.6.0)。按照自动安装窗口中的步骤操作,一切顺利。我刚刚做了,当我在 webstorm 中检查我的最新版本时,它已经在那里了。

【讨论】:

我不确定这个答案对许多已经存在的答案有什么影响。【参考方案22】:

从这里的nodejs网站下载最新的.msi版本,重新安装最新版本的nodejs,https://nodejs.org/en/download/

它在我的 Windows 机器上对我有用。

【讨论】:

【参考方案23】:

在你的终端上试试这个:

nvm 安装节点 --reinstall-packages-from=node

它应该可以解决问题。

稍后,运行 node --version 以检查您拥有的版本。

【讨论】:

【参考方案24】:

将 nvm 安装为 @nelsonic describes 后,这是保持升级的最简单方法:

“node”是上一个版本的快捷方式,所以你可以安装上一个版本:

nvm install node

并且始终使用“节点”版本:

nvm alias default node

最后升级你的节点版本并保留已安装的包:

nvm install node --reinstall-packages-from=node

【讨论】:

【参考方案25】:

我用https://chocolatey.org/install

    安装巧克力参考这个https://chocolatey.org/install 在cmd中运行

杯子节点js

就是这样。 NodeJs 现在更新到最新版本

【讨论】:

【参考方案26】:

适用于 Windows

我遇到了同样的问题,我尝试重新安装并没有为我工作。

从您的系统环境中删除 "C:\Program Files(x86)\nodejs" PATH 就是这样!

【讨论】:

【参考方案27】:

只需将节点和 npm 更新捆绑到我的 ~/.bash_profile 的单个命令中:

update-node()
  sudo n latest;
  sudo npm install -g npm;
  node --version;

这假设您已经从 Eldar Djafarov 的回答中安装了“n”。 将此保存到您的 Bash 配置文件后,重新打开终端并输入 update-node 并输入您的 sudo 密码:

λ update-node
Password:
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
+ npm@5.3.0
updated 1 package in 7.232s
v8.2.1

【讨论】:

【参考方案28】:

只需运行命令行npm install -g npmsudo npm install -g npm 为mac 用户更新它。就是这样。

【讨论】:

【参考方案29】:

Windows 10

在文件夹C:\Program Files\nodejs\node_modules中打开CMD并输入npm i npm

【讨论】:

【参考方案30】:

对于 Ubuntu

使用以下命令安装nvm(节点版本管理器)

要安装或更新 nvm,可以使用 cURL 的安装脚本:

卷曲-o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | 重击

或 Wget:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | 重击

检查nvm是否已经安装

nvm --version

要安装或更新节点,请运行以下命令:

nvm install 10.14.1(节点一要安装的版本)

要查看系统可用或当前正在运行的节点版本列表,请运行以下命令:

非虚拟机列表

检查节点版本:

节点-v

【讨论】:

以上是关于将 Node.js 升级到最新版本的主要内容,如果未能解决你的问题,请参考以下文章

将 NPM 从 5.8 升级到最新版本

MAC升级Nodejs和Npm到最新版

如何升级nodejs

NODE升级到V12.X.X

如何在 Raspberry Pi 上安装最新版本的 node.js?

node.js 版本升级