如何降级到先前的Node版本

489

我想将我的Node版本从最新版本降级到v6.10.3

但是到目前为止,没有任何方法奏效。尝试使用NVM,但它也会报错,说找不到make命令。我该如何降级Node?


1
看起来你的包已经被安装了,但没有添加到路径中。将路径添加到你的包中,一切都会正常工作。 - Raphael
https://github.com/facebook/create-react-app/issues/11562 这里有详细的说明,为什么需要将 NodeJs 降级到 v16.13.0。 - Abhinav Saxena
24个回答

689

警告:此答案不支持Windows操作系统。

您可以使用n来管理Node.js版本。这里有一个n的简单介绍,您可以在这里找到。

$ npm install -g n
$ n 6.10.3

这非常易于使用。

然后您可以显示您的节点版本:

$ node -v
v6.10.3

对于Windows系统,nvm是一个广受欢迎的工具。


3
在这篇文章中建议首先清除npm缓存,但在我的Mac上,以上述方式运行很好。命令是 sudo npm cache clean -f - Rabel Obispo
9
对于 Windows 用户,可以使用 https://github.com/coreybutler/nvm-windows 来安装 nvm 并通过它来控制 Node 版本。 - Arsen Khachaturyan
3
为了让它最终工作,我执行了sudo n lts以降级到最新的LTS版本,并解决了我的问题。一般来说,n <version>就能胜任了。 - Davide C
13
如何更改活动版本?我已经成功安装了,但无法更改活动版本。 - Grant Singleton
2
@GrantSingleton 同意。这个针对 Mac 的解决方案会安装您指定的版本,但不会自动将其设置为活动版本。OP 应该更新答案。 - Ian Steffy
显示剩余20条评论

178

针对Windows操作系统:

步骤

  1. 打开 控制面板> 程序和功能> Node.js 然后卸载

  2. 访问网站: https://nodejs.org/en/,下载相应版本并安装


39
寻找旧版本的用户,请前往以下链接查找:https://nodejs.org/dist - Morten Nørgaard
有一个相对较长的下载选项列表,例如.zip文件夹、.msi和.gz文件,我不确定应该下载哪一个。我使用的是64位的Windows设备,安装以"x64.msi"结尾的文件并运行它对我有效。 - undefined

171

确定您的 Node 版本

node -v  // or node --version
npm -v   // npm version or long npm --version

确保您已安装n

sudo npm install -g n // -g for global installation 

升级到最新稳定版本

sudo n stable

切换到特定版本

sudo n 10.16.0

以下答案受此文章启发。


5
在此之后,我必须关闭终端并重新启动 Mac。谢谢,这非常有帮助。 - Mahdiyeh
4
不需要重新启动 - 只需退出并打开一个新的终端会话。 - majordomo
sudo n稳定版对我很有用,谢谢。 - Baris C
1
sudo: n: command not found - pacoverflow
2
在出现sudo: n: command not found错误时,请使用以下命令行:sudo -E env "PATH=$PATH" n stable参考链接:https://askubuntu.com/questions/608661/command-not-found-when-executing-node-js-n-package-on-sudo - Sham Gir
显示剩余3条评论

63

在Mac上有一个快速的方法,可以使用brew

brew search node

你看到一些版本,例如:node@10 node@12 ...,然后
brew unlink node

现在选择一个之前的版本,例如 node@12

brew link --overwrite --force node@12

你已经成功降级了 Node 版本。


17
我收到了一个错误信息:Error: No such keg: /usr/local/Cellar/node@12。该信息需要翻译为中文,但不能改变其原意,并且必须让其更加易于理解。 - Barney Szabolcs
6
这个错误意味着node@12还没有被安装。请执行brew install node@12,然后运行链接命令。 - Fanchen Bao
有趣的是,在运行brew search node时,node@12已经存在,但在运行brew install node@12之前无法链接,正如@Fanchen Bao所提到的那样。 - Sam Araiza

48

这可能是由于您的代码版本与已安装版本不兼容导致的。

在我的情况下,我在本地开发时使用了v8.12.0,而在服务器上安装了最新版本的v13.7.0

因此,我使用nvm切换节点版本为v8.12.0,命令如下:

> nvm install 8.12.0 // to install the version I wanted

> nvm use 8.12.0  // use the installed version

注意: 您需要在系统上安装 nvm 才能使用 nvm。

在尝试安装build-essentials卸载当前的 Node 版本之前,您应该尝试此解决方案,因为您可以轻松地在版本之间切换,而不是回滚所有已完成的安装/卸载操作。


28

对于 Windows 10,

这对我有用。


从那个页面上如何安装?我发现有很多不同的文件列出来,比如.zip和.7z文件,还有一个名为win-x64的文件夹,里面有.exe和.zip文件。我需要下载zip文件并解压缩,然后运行某个文件,还是只需要下载并运行.exe文件? - undefined
运行.exe应该没问题。 - undefined
我实际上下载了.msi文件,这对我来说有效。我猜这是安装程序的文件扩展名。无论如何,谢谢。 - undefined

23
 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
 sudo npm install -g n
 sudo n 10.15
 npm install
 npm audit fix
 npm start

21
如果您使用的是Windows操作系统,我建议手动卸载node并安装chocolatey来处理您的node安装。 choco是一个很好的CLI工具,可以为大量热门软件进行配置。
然后您只需执行以下操作:
choco install nodejs --version $VersionNumber

如果您已经通过Chocolatey安装了它,则可以执行以下操作:

choco uninstall nodejs 
choco install nodejs --version $VersionNumber
例如,
choco uninstall nodejs
choco install nodejs --version 12.9.1

2
如果你想始终坚持使用Node LTS版本(这可能是需要降级的原因),那么请使用Chocolatey的nodejs-lts包。这样可以保持最新支持的LTS版本,带来诸多优势。 - Tobias

18
如果您正在使用 macOS 并且没有使用 NVM,则最简单的方法是运行来自 node.js 网站的安装程序。它足够智能,可以管理您当前安装版本与新版本之间的替换,即使是旧版本也可以。至少对我而言,这种方法有效。

2
这里是包含所有Node版本的官方链接 https://nodejs.org/dist/ ,您可以使用CTRL+F(在Mac上为CMD+F)查找您需要的确切版本。如果您正在使用Mac,只需下载.pkg文件即可开始使用! :) - Aleksandar

16

尝试使用以下命令

//For make issues 
sudo apt-get install build-essential

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash

//To uninstall a node version 
nvm uninstall <current version>

nvm install 6.10.3

nvm use 6.10.3

//check with 
node -v

注意:这将安装nvm - 一项可以让你在电脑上安装多个Node版本,并为每个项目/文件夹设置一个Node版本的服务。 - Shani Kehati

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接