在Windows10如何降级Node.js版本:可以尝试将Node.js版本降级到一个较旧的版本,以查看问题是否得以解决。可以使用Node Version Manager (nvm) 来轻松切换Node.js版本,具体完整步骤:
-
首先,需要安装Node Version Manager (nvm)。可以从以下链接下载并安装nvm:https://github.com/coreybutler/nvm-windows/releases
-
安装完成后,打开命令提示符或PowerShell,并输入以下命令来安装想要的Node.js版本:nvm install <version>
-
安装完成后,输入以下命令来使用该版本的Node.js:nvm use <version>
-
如果想将该版本设置为默认版本,输入以下命令:nvm alias default <version>
请注意,如果之前已经安装了Node.js,请先卸载它,然后再使用nvm安装所需版本。
如何卸载之前安装的Node.js:
如果是在 Windows 操作系统上安装的 Node.js,可以通过以下步骤卸载:
-
打开控制面板
-
点击"程序和功能"
-
找到 Node.js,并右键点击选择"卸载"
如果是在 macOS 上安装的 Node.js,可以通过以下步骤卸载:
-
打开终端
-
输入以下命令:
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man//node.}
-
输入密码并等待命令执行完成
如果是在 Linux 上安装的 Node.js,可以通过以下步骤卸载:
-
打开终端
-
输入以下命令:
sudo apt-get remove nodejs
-
等待命令执行完成
我选择安装node.js14:
在Windows10上安装node.js14,可以按照以下步骤进行:
-
下载node.js14的安装包,可以在官网 https://nodejs.org/en/download/releases/ 找到对应版本的安装包。
-
双击安装包,按照提示进行安装。
-
安装完成后,在命令行中输入node -v,查看node.js的版本号,确认安装成功。
关于nvm的版本选择,建议使用最新版本的nvm进行安装和管理node.js版本。可以在nvm的官网 https://github.com/coreybutler/nvm-windows/releases 下载最新版本的nvm安装包,然后按照提示进行安装即可。
如果想在Windows10上安装Node.js的不同版本,建议下载nvm-setup.exe。
我下载了最新版的nvm-setup.exe,没有自行设置安装路径。
在命令提示符输入nvm install 14
报错:Could not retrieve https://nodejs.org/dist/latest-v14.x/SHASUMS256.txt. Get "https://nodejs.org/dist/latest-v14.x/SHASUMS256.txt": dial tcp: lookup nodejs.org: no such host nvm.exe
并且点击nvm.exe闪退
这个错误提示表明无法连接到nodejs.org,可能是由于网络问题或者DNS解析问题导致的。您可以尝试以下几个解决方案:
- 检查网络连接是否正常,尝试重新连接网络。
- 检查DNS设置是否正确,可以尝试使用其他DNS服务器。
- 检查防火墙设置,确保允许nvm.exe访问网络。
- 尝试使用代理服务器连接网络。
如果以上方法都无法解决问题,您可以尝试手动下载所需的文件并将其放置在正确的位置,然后再运行nvm安装命令。
我的网络连接正常。我就去检查我的DNS设置是否正确:
可以使用命令行工具nslookup来检查DNS设置是否正确。
在Windows系统中,打开命令提示符并输入"nslookup",然后按Enter键。
在Linux或Mac系统中,打开终端并输入相同的命令。然后,输入您想要查询的域名,例如"google.com",并按Enter键。如果返回了IP地址,则DNS设置正确。
$nslookup
默认服务器: dns2.gdut.edu.cn
Address: 222.200.115.251
根据显示内容,我的DNS设置是正确的,因为默认服务器为dns2.gdut.edu.cn,且IP地址为222.200.115.251。
接下来按照以下步骤检查防火墙设置,确保允许nvm.exe访问网络:
- 打开Windows Defender防火墙
- 点击"高级设置"选项
- 选择"入站规则"选项
- 找到nvm.exe应用程序的规则
- 如果没有规则,请创建一个新规则,允许nvm.exe访问网络
如何在Windows Defender防火墙中创建新规则?
可以按照以下步骤在Windows Defender防火墙中创建新规则:
- 打开Windows Defender安全中心
- 点击"防火墙和网络保护"
- 点击"允许应用通过防火墙"
- 点击"更改设置"
- 点击"允许另一个应用"
- 选择要添加的应用程序并点击"添加"
- 选择"私有"、"公共"或两者都适用
- 输入规则名称并点击"完成"
那么我们如何查看Windows Defender防火墙的日志?
要查看Windows Defender防火墙的日志,可以按照以下步骤操作:
- 打开Windows Defender安全中心
- 点击"防火墙和网络保护"
- 点击"高级设置"
- 在左侧面板中选择"Windows Defender防火墙属性"
- 在"高级"选项卡下,勾选"连接的收集"
- 在"日志文件"选项卡下,点击"自定义设置"
- 选择要记录的日志类型和存储路径,点击"确定"
那么如何在Windows10的Windows Defender防火墙设置,入站规则,确保允许nvm.exe访问网络,这个规则包含什么?
要在Windows10的Windows Defender防火墙设置中添加入站规则,允许nvm.exe访问网络,可以按照以下步骤进行操作:
打开Windows Defender防火墙设置。可以通过在Windows搜索栏中输入"Windows Defender防火墙"来找到该设置。
在左侧面板中,选择"高级设置"。
在高级设置窗口中,选择"入站规则"。
在右侧面板中,选择"新建规则"。
在新建入站规则向导中,选择"程序"并点击"下一步"。
在下一个页面中,选择"此程序路径"并输入nvm.exe的完整路径。如果不知道nvm.exe的路径,可以在命令提示符中输入"where nvm.exe"来查找。
在下一个页面中,选择"允许连接"并点击"下一步"。
在下一个页面中,选择需要应用此规则的网络类型。如果不确定,请选择所有网络类型。
在下一个页面中,为此规则命名,并添加一些描述信息(可选)。然后点击"完成"。
现在,已经成功地添加了一个入站规则,允许nvm.exe访问网络。
此规则包含以下内容:
- 允许nvm.exe访问网络。
- 适用于所有网络类型。
但是我在Windows Defender防火墙设置完允许nvm.exe访问网络。在命令行提示符输入nvm install 14
报错:Could not retrieve https://nodejs.org/dist/latest-v14.x/SHASUMS256.txt. Get "https://nodejs.org/dist/latest-v14.x/SHASUMS256.txt": dial tcp: lookup nodejs.org: no such host nvm.exe
并且点击nvm.exe闪退
看起来您在尝试使用
nvm
安装Node.js时遇到了问题,同时尝试配置Windows Defender防火墙规则以允许nvm.exe
访问网络,但nvm.exe
仍然崩溃。为了解决这个问题,您可以尝试以下步骤:
检查网络连接: 确保您的互联网连接稳定,可以访问网站,包括
nodejs.org
。检查Hosts文件: 有时,"no such host"的问题可能与Windows的Hosts文件相关。确保Hosts文件中没有错误的条目会阻止访问
nodejs.org
。以管理员身份运行: 右键单击命令提示符或PowerShell,选择"以管理员身份运行",以确保您具有创建防火墙规则所需的权限。
防火墙规则: 按照您提到的步骤为
nvm.exe
创建入站规则。确保已正确指定路径并允许连接。防病毒软件: 检查是否有任何防病毒或安全软件可能干扰了
nvm.exe
。临时禁用它或将nvm.exe
添加到白名单可能有助于解决问题。更新
nvm
: 确保您正在使用最新版本的nvm
,可以运行nvm update
来升级。过时的版本可能会导致兼容性问题。Node.js镜像: 如果访问
nodejs.org
有问题,考虑配置nvm
以使用您国家或附近位置的不同Node.js镜像。环境变量: 仔细检查系统环境变量是否正确设置,以使
nvm
正常工作。重新安装Node.js: 如果问题仍然存在,考虑使用
nvm
或其他方法重新安装Node.js。系统日志: 检查Windows事件查看器是否有关于崩溃的错误日志。它可能会提供有关
nvm.exe
崩溃原因的更多详细信息。兼容性模式: 尝试在较早版本的Windows上以兼容模式运行
nvm.exe
,例如Windows 7,以查看是否可以解决崩溃问题。咨询
nvm
社区: 如果问题仍然存在,您可能希望向nvm
社区或支持寻求更具体的故障排除指导。请在对防火墙设置和系统进行更改时小心操作,并确保在情况不妙时有备份或还原选项。希望这些步骤能帮助您解决问题。
我选择通过管理员身份运行 nvm install 14
报错:Could not retrieve https://nodejs.org/dist/latest-v14.x/SHASUMS256.txt. Get "https://nodejs.org/dist/latest-v14.x/SHASUMS256.txt": dial tcp: lookup nodejs.org: no such host
以及点击nvm.exe还是闪退,
看起来您已经设置了
nvm.exe
的Windows Defender防火墙规则,但是在尝试通过管理员身份运行nvm install 14
时仍然遇到了问题,报错信息是"Could not retrieve https://nodejs.org/dist/latest-v14.x/SHASUMS256.txt. Get "https://nodejs.org/dist/latest-v14.x/SHASUMS256.txt": dial tcp: lookup nodejs.org: no such host",并且nvm.exe
仍然崩溃。这个问题可能是由于DNS解析问题引起的,您可以尝试以下步骤来解决:
DNS设置检查: 确保您的计算机的DNS设置正确。您可以尝试切换到Google DNS(8.8.8.8和8.8.4.4)或使用自动获取DNS设置,看看是否有所改善。
Windows主机文件检查: 检查Windows主机文件是否包含任何不正常的条目,可能会影响DNS解析。主机文件位于
C:\Windows\System32\drivers\etc\hosts
。刷新DNS缓存: 打开命令提示符(管理员权限),运行以下命令来刷新DNS缓存:
ipconfig /flushdns
重启计算机: 有时,DNS问题可能需要重启计算机才能解决。
如果上述步骤都没有解决问题,还可以尝试使用其他方式安装Node.js,例如直接从Node.js官方网站下载安装程序进行安装,以确保没有网络或DNS相关的问题。希望这可以帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便进一步协助。
我直接重新以管理员身份打开命令提示符,进行第3步刷新DNS缓存,这个时候成功了。
但是新问题来了,我进行npm的批处理失败了。报错显示'npm' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
配置安装好nvm,安装使用node.js但是在命令提示符输入npm run dev
报错:npm : 无法将"npm"项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。 所在位置 行:1 字符: 1 + npm run dev + ~~~ + CategoryInfo : ObjectNotFound: (npm:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException,点击npm的批下载和批处理闪退使用。
虽然我下载nvm,并在nvm下载node.js成功了,但是出了问题。
$nvm version
1.1.11
$nvm list
14.21.3
$node -v
'node' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
$where npm
信息: 用提供的模式无法找到文件。
$node -v
'node' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
我只能选择删除之前的操作。在应用与功能界面删除nvm,去Windows Defender防火墙删除之前设置的关于nvm的入站规则。
重新安装node.js,参考以下文章:Nodejs10安装教程详解_node v10安装步骤-CSDN博客https://blog.csdn.net/weixin_43217942/article/details/103273333