执行npx create-remix创建Remix项目时GitHub返回404如何解决
OS X执行create-remix创建项目拉取模板返回404故障处理
故障表现
终端执行Remix项目创建命令:npx create-remix@latest
流程走到创建应用环节时程序直接退出,抛出错误信息如下:
Creating your app… 🔍 Using the cloudflare-pages template from the remix-run/remix repo ⠹ Creating your app…Error: 🚨 There was a problem fetching the file from GitHub. The request responded with a 404 status. Please try again later. at downloadAndExtractTarball (/Users/ransom/.npm/_npx/5164864a48bff686/node_modules/@remix-run/dev/cli/create.js:284:11)
已完成的排查项及结果:
- 当前Node、nvm均为最新版本
- 指定
create-remix@1.3.1等旧版本执行,仍出现相同问题 - 故障设备此前曾成功创建过Remix应用
- 选用任意Remix模板均会触发该问题
- 连接同一WiFi的另一台从未运行过该脚本的Mac设备,执行相同npx命令无报错
- 故障设备可正常通过命令行对GitHub仓库执行push、pull、clone操作
- GitHub网络连通性检测未发现异常
- 已清空
~/.npm目录全部内容,执行npx clear-npx-cache清理npx缓存,问题未解决
故障原因
故障由本地GitHub请求链路配置异常导致:create-remix拉取模板时调用GitHub归档下载接口,与普通git clone走的请求协议、链路不完全一致。如果本地存在过期的GitHub API代理配置、tar包下载链路被错误指向已失效的镜像地址,就会返回404错误。同网络下其他设备运行正常、常规git操作正常,可排除公网链路故障、GitHub服务端故障。
修复操作
- 排查本地shell环境变量中的代理、GitHub镜像配置
执行命令查看当前终端生效的相关配置:env | grep -E '(GITHUB|GH_|proxy|HTTP_PROXY|HTTPS_PROXY)'
如果输出结果中存在指向已失效GitHub镜像、不可用代理地址的配置,打开当前使用shell对应的配置文件(常用为~/.zshrc、~/.bashrc、~/.bash_profile),删除对应的过期配置行,执行source <配置文件路径>让修改即时生效。 - 排查git全局配置中的地址替换规则
执行命令查看git全局配置中的地址替换规则:git config --global --list | grep insteadof
如果存在将GitHub源码地址、归档下载地址替换为第三方镜像的规则,执行命令删除对应失效规则:git config --global --unset url.<失效镜像地址>.insteadof - 刷新本地DNS缓存
执行命令重置OS X本地DNS缓存,避免错误解析结果影响请求:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - 重新执行项目创建命令验证
npx create-remix@latest
若上述操作后问题仍存在,可通过本地模板方式绕过远程拉取环节:
- 手动将需要的Remix模板仓库克隆到本地目录
- 执行
npx create-remix@latest --template <本地模板目录路径> <项目名称>完成创建
内容的提问来源于stack exchange,提问作者ransomweaver
相关产品推荐
相关产品推荐

