所以,我已经安装了Node.js,现在当我试图安装Mongoosejs时,我得到了一个错误,告诉我我没有所需的Node.js版本(我有v0.4.11和v0.4.12是需要的)。
如何升级到这个版本?我想我只是可以用最新版本重新安装它,但我不想在确定文件夹“node”中的项目文件夹不会被删除之前这样做。
所以,我已经安装了Node.js,现在当我试图安装Mongoosejs时,我得到了一个错误,告诉我我没有所需的Node.js版本(我有v0.4.11和v0.4.12是需要的)。
如何升级到这个版本?我想我只是可以用最新版本重新安装它,但我不想在确定文件夹“node”中的项目文件夹不会被删除之前这样做。
当前回答
在按照@nelsonic的描述安装nvm之后,这是保持它升级的最简单的方法:
"node"是到上一个版本的快捷方式,所以你可以安装上一个版本:
nvm install node
并且总是使用“node”版本:
nvm alias default node
最后升级您的节点版本并保留已安装的包:
nvm install node --reinstall-packages-from=node
其他回答
在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。
对于Windows
我也有同样的问题,我试着重新安装,但没有为我工作。
从你的系统环境PATH中删除“C:\Program Files(x86)\nodejs”,就是这样!
如果你正在寻找linux..
NPM更新将无法工作,我不确定原因,但以下步骤将帮助您解决问题…
终端进程升级节点4。X到6.x。
$ node -v
v4.x
检查节点路径
$ which node
/usr/bin/node
从[Download][1]下载最新的(6.x)节点文件
[1]: https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz,解压缩文件存放在“/opt/node-v6.9.2-linux-x64/”目录下。
现在解除当前节点的链接,并与最新节点链接,如下所示
$ unlink /usr/bin/node
$ ln -s /opt/node-v6.9.2-linux-x64/bin/node node
$ node -v
$ v6.9.2
如果Node安装脚本不适合你(不适合我),这里有一个在Debian Jessie中更新Node Js的解决方案,来自Thomas Ward在askubuntu.com的回复(谢谢,伙计!)
1.—新建文件:/etc/apt/sources.list.d/nodesource.list
你需要用sudo创建这个文件,但是当你创建这个文件时,把这个放在里面:
deb https://deb.nodesource.com/node_9.x jessie main
deb-src https://deb.nodesource.com/node_9.x jessie main
然后保存文件。(取代node_9。X与所需版本)
2.—从Nodesource下载存储库的GPG签名密钥。否则,你可能会得到NO_PUBKEY错误apt-get更新:
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
3.—手动执行sudo apt-get update命令。
这将刷新来自节点源回购的数据,以便apt知道存在更新的版本。
如果您得到一个NO_PUBKEY GPG错误,那么返回到步骤2
4.—检查apt-cache policy nodejs的输出。
这不是由脚本完成的,但您希望确保在输出中看到这样的条目:
Version table:
*** 9.2.0-1nodesource1 0
500 https://deb.nodesource.com/node_9.x/ jessie/main amd64 Packages
100 /var/lib/dpkg/status
0.10.29~dfsg-2 0
500 http://ftp.debian.org/debian/ jessie/main amd64 Packages
如果您没有看到这样的条目,而只看到0.10.29,请重新开始。否则,继续。
5.—安装nodejs二进制文件。既然你已经确认了。X在你的系统上是可用的,你可以安装它:sudo apt-get install nodejs
Nodejs -v现在应该在输出时显示v9.2或类似版本(只要以v9开头)。现在是版本9)。
我来晚了,但在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。这些命令在构建/恢复管道中也很有帮助,因为我们可以等待安装完成,并在安装失败时捕获一些日志。