npm 安装包遇到问题的常用脚本(RequestError: socket hang up)

前言

最近在给一个基于 Electron 的开源项目做贡献,需要去安装一些 npm 库,由于众所周知的原因,经常会出现报错:

复制代码
npm ERR! path D:\Projects\project\node_modules\electron
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node install.js
npm ERR! RequestError: socket hang up
npm ERR!     at ClientRequest.<anonymous> (D:\Projects\project\node_modules\@electron\get\node_modules\got\dist\source\core\index.js:970:111)
npm ERR!     at Object.onceWrapper (node:events:632:26)
npm ERR!     at ClientRequest.emit (node:events:529:35)
npm ERR!     at origin.emit (D:\Projects\project\node_modules\@szmarczak\http-timer\dist\source\index.js:43:20)
npm ERR!     at TLSSocket.socketOnEnd (node:_http_client:525:9)
npm ERR!     at TLSSocket.emit (node:events:529:35)
npm ERR!     at endReadableNT (node:internal/streams/readable:1368:12)
npm ERR!     at connResetException (node:internal/errors:720:14)
npm ERR!     at TLSSocket.socketOnEnd (node:_http_client:525:23)
npm ERR!     at TLSSocket.emit (node:events:529:35)
npm ERR!     at endReadableNT (node:internal/streams/readable:1368:12)
npm ERR!     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)

npm ERR! A complete log of this run can be found in: C:\Users\xxx\AppData\Local\npm-cache\_logs\2023-12-17T04_00_17_970Z-debug-0.log

这是因为网络连接的问题而无法安装,尝试了国内镜像但是也会出一些奇怪的问题。下面假设你有一个合规的代理。

正文

复制代码
npm config set proxy=http://127.0.0.1:7891
npm config set https-proxy=http://127.0.0.1:7891
npm install vue  # 安装需要的包

但是有些情况下还是会遇到神奇的问题。可以尝试下面的命令更新 npm 解决。

bash 复制代码
npm install npm -

PS:从参考来源那里拷贝的代码在命令尾部包括了一个`-`。我在测试中使用这个带 `-` 的命令,并且后面顺利安装了。但是目前并不明确这个 `-` 的意义,简单浏览了官方文档没有看到类似的写法。(LLM表示这个可能就是表示这个命令结束用的。也有LLM说这个代表 @latest,但是同样没有在文档中找到相关描述,不排除幻觉可能,但是这个事情不重要,蹲大神赐教了)

Reference

解决各种 npm install 报错问题_coc.nvim 配置 error getaddrinfo eai_again re-CSDN博客

相关推荐
__zRainy__5 小时前
Node系列 · Node基础:net 模块
后端·node.js
嘟嘟071713 小时前
从浏览器到 hello world:Docker + nginx 反向代理 + Node 最小服务器一次讲清
docker·容器·node.js
FungLeo13 小时前
Node 后端实战 · 老系统数据迁移怎么不出乱子?V1→V2 重构实战与 3 个生产坑
node.js·serverless·数据库迁移·d1 数据库
今日无bug13 小时前
Tool Use 工具调用 —— 让LLM缸中大脑突破物理限制的3个阶段
node.js·llm·agent
To_OC1 天前
装完 ESLint 它一声不吭?我还以为代码写得多好
后端·node.js·eslint
FungLeo1 天前
Node 后端实战 · 列表查询到底怎么写?一个通用 DSL 封装,过滤分页排序一次搞定
数据库·node.js·serverless·dsl 封装·通用列表查询
_codemonster1 天前
npm run dev 是在开发模式运行,怎么在生产环境运行
前端·npm·node.js
渔夫正在掘金1 天前
Cordis 插件热插拔能力深度解析
后端·node.js
嘟嘟07172 天前
NestJS 入门:从 NestFactory 入口到 Module/Controller/Service 模块化结构一次讲清
typescript·node.js·nestjs
breeze jiang2 天前
NestJS MVC 实战:用 hello 项目 7 个文件讲清分层、装饰器、依赖注入与错误处理
node.js·mvc·js