nvm、node、npm解决问题过程记录

在Windows10如何降级Node.js版本:可以尝试将Node.js版本降级到一个较旧的版本,以查看问题是否得以解决。可以使用Node Version Manager (nvm) 来轻松切换Node.js版本,具体完整步骤:

  1. 首先,需要安装Node Version Manager (nvm)。可以从以下链接下载并安装nvm:https://github.com/coreybutler/nvm-windows/releases

  2. 安装完成后,打开命令提示符或PowerShell,并输入以下命令来安装想要的Node.js版本:nvm install <version>

  3. 安装完成后,输入以下命令来使用该版本的Node.js:nvm use <version>

  4. 如果想将该版本设置为默认版本,输入以下命令:nvm alias default <version>

请注意,如果之前已经安装了Node.js,请先卸载它,然后再使用nvm安装所需版本。


如何卸载之前安装的Node.js:

如果是在 Windows 操作系统上安装的 Node.js,可以通过以下步骤卸载:

  1. 打开控制面板

  2. 点击"程序和功能"

  3. 找到 Node.js,并右键点击选择"卸载"

如果是在 macOS 上安装的 Node.js,可以通过以下步骤卸载:

  1. 打开终端

  2. 输入以下命令:

    sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man//node.}

  3. 输入密码并等待命令执行完成

如果是在 Linux 上安装的 Node.js,可以通过以下步骤卸载:

  1. 打开终端

  2. 输入以下命令:

    sudo apt-get remove nodejs

  3. 等待命令执行完成


我选择安装node.js14:

在Windows10上安装node.js14,可以按照以下步骤进行:

  1. 下载node.js14的安装包,可以在官网 https://nodejs.org/en/download/releases/ 找到对应版本的安装包。

  2. 双击安装包,按照提示进行安装。

  3. 安装完成后,在命令行中输入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解析问题导致的。您可以尝试以下几个解决方案:

  1. 检查网络连接是否正常,尝试重新连接网络。
  2. 检查DNS设置是否正确,可以尝试使用其他DNS服务器。
  3. 检查防火墙设置,确保允许nvm.exe访问网络。
  4. 尝试使用代理服务器连接网络。

如果以上方法都无法解决问题,您可以尝试手动下载所需的文件并将其放置在正确的位置,然后再运行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访问网络:

  1. 打开Windows Defender防火墙
  2. 点击"高级设置"选项
  3. 选择"入站规则"选项
  4. 找到nvm.exe应用程序的规则
  5. 如果没有规则,请创建一个新规则,允许nvm.exe访问网络

如何在Windows Defender防火墙中创建新规则?

可以按照以下步骤在Windows Defender防火墙中创建新规则:

  1. 打开Windows Defender安全中心
  2. 点击"防火墙和网络保护"
  3. 点击"允许应用通过防火墙"
  4. 点击"更改设置"
  5. 点击"允许另一个应用"
  6. 选择要添加的应用程序并点击"添加"
  7. 选择"私有"、"公共"或两者都适用
  8. 输入规则名称并点击"完成"

那么我们如何查看Windows Defender防火墙的日志?

要查看Windows Defender防火墙的日志,可以按照以下步骤操作:

  1. 打开Windows Defender安全中心
  2. 点击"防火墙和网络保护"
  3. 点击"高级设置"
  4. 在左侧面板中选择"Windows Defender防火墙属性"
  5. 在"高级"选项卡下,勾选"连接的收集"
  6. 在"日志文件"选项卡下,点击"自定义设置"
  7. 选择要记录的日志类型和存储路径,点击"确定"

那么如何在Windows10的Windows Defender防火墙设置,入站规则,确保允许nvm.exe访问网络,这个规则包含什么?

要在Windows10的Windows Defender防火墙设置中添加入站规则,允许nvm.exe访问网络,可以按照以下步骤进行操作:

  1. 打开Windows Defender防火墙设置。可以通过在Windows搜索栏中输入"Windows Defender防火墙"来找到该设置。

  2. 在左侧面板中,选择"高级设置"。

  3. 在高级设置窗口中,选择"入站规则"。

  4. 在右侧面板中,选择"新建规则"。

  5. 在新建入站规则向导中,选择"程序"并点击"下一步"。

  6. 在下一个页面中,选择"此程序路径"并输入nvm.exe的完整路径。如果不知道nvm.exe的路径,可以在命令提示符中输入"where nvm.exe"来查找。

  7. 在下一个页面中,选择"允许连接"并点击"下一步"。

  8. 在下一个页面中,选择需要应用此规则的网络类型。如果不确定,请选择所有网络类型。

  9. 在下一个页面中,为此规则命名,并添加一些描述信息(可选)。然后点击"完成"。

现在,已经成功地添加了一个入站规则,允许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仍然崩溃。为了解决这个问题,您可以尝试以下步骤:

  1. 检查网络连接: 确保您的互联网连接稳定,可以访问网站,包括nodejs.org

  2. 检查Hosts文件: 有时,"no such host"的问题可能与Windows的Hosts文件相关。确保Hosts文件中没有错误的条目会阻止访问nodejs.org

  3. 以管理员身份运行: 右键单击命令提示符或PowerShell,选择"以管理员身份运行",以确保您具有创建防火墙规则所需的权限。

  4. 防火墙规则: 按照您提到的步骤为nvm.exe创建入站规则。确保已正确指定路径并允许连接。

  5. 防病毒软件: 检查是否有任何防病毒或安全软件可能干扰了nvm.exe。临时禁用它或将nvm.exe添加到白名单可能有助于解决问题。

  6. 更新nvm 确保您正在使用最新版本的nvm,可以运行nvm update来升级。过时的版本可能会导致兼容性问题。

  7. Node.js镜像: 如果访问nodejs.org有问题,考虑配置nvm以使用您国家或附近位置的不同Node.js镜像。

  8. 环境变量: 仔细检查系统环境变量是否正确设置,以使nvm正常工作。

  9. 重新安装Node.js: 如果问题仍然存在,考虑使用nvm或其他方法重新安装Node.js。

  10. 系统日志: 检查Windows事件查看器是否有关于崩溃的错误日志。它可能会提供有关nvm.exe崩溃原因的更多详细信息。

  11. 兼容性模式: 尝试在较早版本的Windows上以兼容模式运行nvm.exe,例如Windows 7,以查看是否可以解决崩溃问题。

  12. 咨询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解析问题引起的,您可以尝试以下步骤来解决:

  1. DNS设置检查: 确保您的计算机的DNS设置正确。您可以尝试切换到Google DNS(8.8.8.8和8.8.4.4)或使用自动获取DNS设置,看看是否有所改善。

  2. Windows主机文件检查: 检查Windows主机文件是否包含任何不正常的条目,可能会影响DNS解析。主机文件位于C:\Windows\System32\drivers\etc\hosts

  3. 刷新DNS缓存: 打开命令提示符(管理员权限),运行以下命令来刷新DNS缓存:

    复制代码
    ipconfig /flushdns
    
  4. 重启计算机: 有时,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

如何指定下载各个版本的 Node.js(包括V10版本)_node下载指定版本-CSDN博客https://blog.csdn.net/qq_43012792/article/details/108921387

相关推荐
前端李易安7 分钟前
Webpack 热更新(HMR)详解:原理与实现
前端·webpack·node.js
红绿鲤鱼9 分钟前
React-自定义Hook与逻辑共享
前端·react.js·前端框架
Domain-zhuo19 分钟前
什么是JavaScript原型链?
开发语言·前端·javascript·jvm·ecmascript·原型模式
小丁爱养花26 分钟前
前端三剑客(三):JavaScript
开发语言·前端·javascript
ZwaterZ35 分钟前
vue el-table表格点击某行触发事件&&操作栏点击和row-click冲突问题
前端·vue.js·elementui·c#·vue
西凉河的葛三叔39 分钟前
vue3+elementui-plus el-dialog全局配置点击空白处不关闭弹窗
前端·vue3·elementui-plus
周三有雨1 小时前
【面试题系列Vue07】Vuex是什么?使用Vuex的好处有哪些?
前端·vue.js·面试·typescript
木古古181 小时前
使用chrome 访问虚拟机Apache2 的默认页面,出现了ERR_ADDRESS_UNREACHABLE这个鸟问题
前端·chrome·apache
爱米的前端小笔记1 小时前
前端八股自学笔记分享—页面布局(二)
前端·笔记·学习·面试·求职招聘