所以,我已经安装了Node.js,现在当我试图安装Mongoosejs时,我得到了一个错误,告诉我我没有所需的Node.js版本(我有v0.4.11和v0.4.12是需要的)。
如何升级到这个版本?我想我只是可以用最新版本重新安装它,但我不想在确定文件夹“node”中的项目文件夹不会被删除之前这样做。
所以,我已经安装了Node.js,现在当我试图安装Mongoosejs时,我得到了一个错误,告诉我我没有所需的Node.js版本(我有v0.4.11和v0.4.12是需要的)。
如何升级到这个版本?我想我只是可以用最新版本重新安装它,但我不想在确定文件夹“node”中的项目文件夹不会被删除之前这样做。
当前回答
打开包裹。将node.js项目的Json文件,并将依赖项中指定的版本号替换为*,将获得最新版本。
其他回答
在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。
在按照@nelsonic的描述安装nvm之后,这是保持它升级的最简单的方法:
"node"是到上一个版本的快捷方式,所以你可以安装上一个版本:
nvm install node
并且总是使用“node”版本:
nvm alias default node
最后升级您的节点版本并保留已安装的包:
nvm install node --reinstall-packages-from=node
Ubuntu Linux/Mac:
模块n使版本管理变得简单:
npm install n -g
对于最新的稳定版本:
n stable
最新版本:
n latest
窗口:
只需从node网站上的。msi重新安装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、Mac和Linux)
2021年5月更新
就是这样,伙计们。过去它更复杂,人们使用不同种类的包和策略来管理它。但情况已经向好的方向发展。
只需访问nodejs.org并使用最新的安装程序。