将 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.js 版本方面,注意:避免在 Node/NPM 中使用
sudo
,因为它违反了安全性 principal of least privilege
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.0
,node-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 npm
或sudo 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 升级到最新版本的主要内容,如果未能解决你的问题,请参考以下文章