在VSCode中为React应用初始化Sanity时遇ERR_SOCKET_TIMEOUT错误
解决Sanity初始化时的npm Socket超时错误
在为React应用搭建Sanity后端、执行Sanity初始化操作时,遇到如下npm网络超时错误:
npm ERR! code ERR_SOCKET_TIMEOUT npm ERR! errno ERR_SOCKET_TIMEOUT npm ERR! network Invalid response body while trying to fetch https://registry.npmjs.org/babel-p at makeError$1 (C:/Users/Shoaib/AppData/Local/npm-cache/_npx/67a0730928194b24/node_modules/@sanity/cli/lib/_chunks/cli-f0037b46.js:1641:1417) at handlePromise (C:/Users/Shoaib/AppData/Local/npm-cache/_npx/67a0730928194b24/node_modules/@sanity/cli/lib/_chunks/cli-f0037b46.js:1721:959) at async installDeclaredPackages (C:/Users/Shoaib/AppData/Local/npm-cache/_npx/67a0730928194b24/node_modules/@sanity/cli/lib/_chunks/cli-f0037b46.js:1721:4682) at async initSanity (C:/Users/Shoaib/AppData/Local/npm-cache/_npx/67a0730928194b24/node_modules/@sanity/cli/lib/_chunks/cli-f0037b46.js:17024:10577)
错误核心为Socket超时,尝试获取npm官方registry资源时响应体无效。
解决方法
- 增加npm超时阈值:执行以下命令调整网络请求的超时时间,之后重新运行Sanity初始化命令
npm config set fetch-retry-mintimeout 20000 npm config set fetch-retry-maxtimeout 120000 - 切换npm国内镜像源:替换为国内镜像提升访问速度,避免官方源的网络波动
npm config set registry https://registry.npmmirror.com - 清理npm缓存:清除可能损坏的缓存文件后重试
npm cache clean --force - 检查网络环境:确认本地网络连接稳定,必要时切换到更可靠的网络(如有线网络)
- 改用yarn执行初始化:若npm问题持续,尝试用yarn替代npm完成Sanity初始化
yarn create sanity@latest
内容的提问来源于stack exchange,提问作者shoaib malik
相关产品推荐
相关产品推荐

