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

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


当前回答

在你的终端上试试这个:

NVM安装节点——reinstall-packages-from=node

这应该能奏效。

稍后,运行node——version命令检查您拥有的版本。

其他回答

如果你正在寻找linux..

NPM更新将无法工作,我不确定原因,但以下步骤将帮助您解决问题…

终端进程升级节点4。X到6.x。

 $ node -v
 v4.x

检查节点路径

$ which node
/usr/bin/node

从[Download][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

Windows 10

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

我来晚了,但在Windows 10/11中,在我的Azure DevOps管道中,我在恢复阶段从PowerShell脚本运行这些命令:

if (!(Test-Path "./$nodeInstaller")) {

    $message = "Downloading node $nodeVersion"
    Write-Output $message

    Invoke-WebRequest "https://nodejs.org/dist/$nodeVersion/$($nodeInstaller)" -OutFile "./$nodeInstaller"
}

# Display node install message
$message = "Installing node $nodeVersion"
Write-Output $message

# Execute MsiExec silently and wait for it to complete.
Start-Process MsiExec.exe -Wait -ArgumentList "/i $($nodeInstaller) /qn /L*v msilog.txt"

在我的例子中,这对于我的一些构建工具(Angular 13 CLI)来说是必要的,因为我使用的容器映像只有旧版本的node。这些命令在构建/恢复管道中也很有帮助,因为我们可以等待安装完成,并在安装失败时捕获一些日志。

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

如果您收到以下错误

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

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

在你的终端上试试这个:

NVM安装节点——reinstall-packages-from=node

这应该能奏效。

稍后,运行node——version命令检查您拥有的版本。