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

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


当前回答

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

如果您收到以下错误

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

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

其他回答

我的2 c:

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

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

Ubuntu Linux/Mac:

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

npm install n -g

对于最新的稳定版本:

n stable

最新版本:

n latest

窗口:

只需从node网站上的。msi重新安装node即可。

我在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

or

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

所有平台(Windows、Mac和Linux)

2021年5月更新

就是这样,伙计们。过去它更复杂,人们使用不同种类的包和策略来管理它。但情况已经向好的方向发展。

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

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