所以,我已经安装了Node.js,现在当我试图安装Mongoosejs时,我得到了一个错误,告诉我我没有所需的Node.js版本(我有v0.4.11和v0.4.12是需要的)。

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


当前回答

所有平台(Mac, Linux和Windows) 2023

如果你只是需要将旧版本的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.1/install.sh | bash

如果您对安装命令感到好奇,请阅读源代码 ... 它已经被几个node.js安全专家审查过了

步骤2 -安装你需要的node.js版本

一旦你有了NVM,你可以使用NVM命令安装特定版本的Node.js:

nvm install v18.12.1

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

你应该期望在你的终端中看到这样的东西:

Now using node v18.12.1

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

注意:避免在Node/NPM中使用sudo,因为它违反了最小权限的安全原则

在管理多个Node.js版本时,NVM被认为比N“更好”,因为详细的命令意味着它更容易跟踪你在终端/SSH日志中所做的事情。它被NPM的团队——Node.js世界的创建者/管理者所使用!

其他回答

brew upgrade node

是否升级到最新版本的节点

对于linux用户如何逐步更新节点版本有很好的解释。 ps类型,而不是sudo n stable sudo n latest接收最新的节点版本。

如果您收到以下错误

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

你刚刚用下面的命令重建了npm,应该可以修复这个问题。

只是把节点和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

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

你不需要卸载旧节点或npm或其他任何东西。

登陆nodejs。org

然后找到Windows下载选项,然后在下面点击当前…最新功能选项卡和遵循自动指示

它会为你下载最新的节点和npm,并丢弃旧的。

Windows 10

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