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

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


当前回答

在你的终端上试试这个:

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

这应该能奏效。

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

其他回答

在按照@nelsonic的描述安装nvm之后,这是保持它升级的最简单的方法:

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

nvm install node

并且总是使用“node”版本:

nvm alias default node

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

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

我的2 c:

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

第一个任务已经成功完成,但是“which node”命令导致了旧的v0.8.25。 第二个命令成功完成,同样的命令产生了v.0.10.22。

只是把节点和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用户只需登录node.js (nodejs.org)网站下载最新版本(截至2017年9月29日为8.6.0)。按照自动安装窗口中的步骤操作,就可以开始了。我刚刚做了,当我在webstorm检查我的最新版本时,它已经在那里了。

我来晚了,但在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。这些命令在构建/恢复管道中也很有帮助,因为我们可以等待安装完成,并在安装失败时捕获一些日志。