所以,我已经安装了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升级到最新版本
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
用于升级Node.js到最新版本
sudo n latest
如果需要撤销,请遵循命令
sudo apt-get install --reinstall nodejs-legacy # fix /usr/bin/node
sudo n rm 6.0.0 # replace number with version of Node that was installed
sudo npm uninstall -g n
这种升级节点的方法现在不稳定,不应该使用。管理Node.js版本的最好方法是使用NVM: Node Version Management.!
安装
您可以在nvm [GitHub page][1]上阅读安装步骤。安装和配置只需要两个简单的步骤。 使用nvm
如果你使用很多不同的Node.js实用程序,你知道有时你需要快速切换到其他版本的Node.js,而不需要冲洗你的整个机器。在这里你可以使用nvm下载、安装和使用不同版本的Node.js:
nvm install 4.0
在任何给定的时间,您可以切换到另一个使用:
nvm use 0.12
补充n13:如果'sudo n stable'有错误,试试这个:
sudo -E env "PATH=$PATH" n stable
其他回答
我来晚了,但在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。这些命令在构建/恢复管道中也很有帮助,因为我们可以等待安装完成,并在安装失败时捕获一些日志。
在按照@nelsonic的描述安装nvm之后,这是保持它升级的最简单的方法:
"node"是到上一个版本的快捷方式,所以你可以安装上一个版本:
nvm install node
并且总是使用“node”版本:
nvm alias default node
最后升级您的节点版本并保留已安装的包:
nvm install node --reinstall-packages-from=node
如果有一个问题与sudo/根访问,我们可以做
npm install stable Or
npm install 10.15.0
打开包裹。将node.js项目的Json文件,并将依赖项中指定的版本号替换为*,将获得最新版本。
对于Windows
我也有同样的问题,我试着重新安装,但没有为我工作。
从你的系统环境PATH中删除“C:\Program Files(x86)\nodejs”,就是这样!