Next.js 13.4.9安装shadcn-ui失败,请求技术支援
Next.js 13.4.9 安装 shadcn-ui 遇 ETIMEDOUT 错误解决
在 Next.js 13.4.9 环境下安装 shadcn-ui 时,出现请求超时错误,无法获取样式注册表,具体错误日志如下:
FetchError: 请求https://ui.shadcn.com/registry/styles/index.json失败,原因:connect ETIMEDOUT 76.76.21.9:443 at ClientRequest. (file:///D:/Projects/WebProjects/Ecommerce/my-app/node_modules/node-fetch/src/index.js:108:11) at ClientRequest.emit (node:events:513:28) at TLSSocket.socketErrorListener (node:_http_client:502:9) at TLSSocket.emit (node:events:513:28) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { type: 'system', errno: 'ETIMEDOUT', code: 'ETIMEDOUT', erroredSysCall: 'connect' } Failed to fetch styles from registry.
已尝试清理 npm 代理配置,但问题未解决:
npm config delete proxy npm config delete http-proxy npm config delete https-proxy
解决方案
- 切换网络环境:尝试使用手机热点或其他稳定网络,排除当前网络对目标域名的访问限制
- 重新配置代理(若需):如果所在网络必须通过代理访问外部资源,设置 npm 代理:
注:替换npm config set proxy http://your-proxy-address:port npm config set https-proxy http://your-proxy-address:portyour-proxy-address:port为实际可用代理,需认证则用http://username:password@proxy-address:port格式 - 修改 hosts 文件:手动映射域名与 IP,解决 DNS 解析问题:
- 打开 hosts 文件(Windows:
C:\Windows\System32\drivers\etc\hosts;Mac/Linux:/etc/hosts) - 添加行:
76.76.21.9 ui.shadcn.com - 保存后刷新 DNS 缓存:Windows 执行
ipconfig /flushdns,Mac/Linux 执行sudo dscacheutil -flushcache
- 打开 hosts 文件(Windows:
- 手动安装组件:跳过自动脚本,手动添加组件代码:
- 从 shadcn-ui 官网复制目标组件代码
- 在项目中创建
components/ui目录,按结构存放组件代码 - 手动安装组件依赖(如
lucide-react、class-variance-authority等)
内容的提问来源于stack exchange,提问作者Amir
相关产品推荐
相关产品推荐

