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

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


当前回答

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

其他回答

在Windows上,从https://nodejs.org/download/release/latest/下载最新的“Windows安装程序(.msi)” 并安装相同的目录,仅此而已…

完成上述安装后,NodeJS和NPM将升级到最新版本,然后您可以像往常一样清理包:

npm cache clean
npm update -g

Note

你可以用下面的命令检查版本:

C:\node -v
v0.12.4

C:\npm -version
2.10.1

在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: invalid option”错误,brew install gnu-tar并按照brew给你的说明来设置你的PATH。

打开包裹。将node.js项目的Json文件,并将依赖项中指定的版本号替换为*,将获得最新版本。

通过npm:

npm cache clean -f
npm install -g n
n stable

你也可以指定一个想要的版本:

n 0.8.21

以防它似乎不能工作,安装会给你一个提示:

如果"node——version"显示的是旧版本,那么启动一个新的shell,或者用以下命令重置位置散列: Hash -r(用于bash, zsh, ash, dash和ksh) [或]rehash(用于CSH和tcsh)

参考

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

如果您收到以下错误

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

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