Skip to content

fix: 解析 wrangler stdout 时忽略代理提示行,避免 setup 失败 - #201

Closed
CJSen wants to merge 1 commit into
wangwangit:masterfrom
CJSen:fix/setup-kv-proxy-json
Closed

CJSen wants to merge 1 commit into
wangwangit:masterfrom
CJSen:fix/setup-kv-proxy-json

Conversation

@CJSen

@CJSen CJSen commented Aug 5, 2026

Copy link
Copy Markdown

问题

当本机设置了代理环境变量(http_proxy/https_proxy/all_proxy)时,wrangler 会在 stdout 打印一行提示:

Proxy environment variables detected. We'll use your proxy for fetch requests.

scripts/setup-kv.cjs 的 listNamespaces() 直接对整段 stdout 执行 JSON.parse,把这一行当成 JSON 的一部分,导致 npm run deploy:safe 报错:

[setup-kv] 失败: Unexpected token 'P', "Proxy envi"... is not valid JSON

修复

只解析 stdout 中第一个 [ 之后的内容,忽略前导的提示行。若无 [ 则返回空数组。

验证

npm run deploy:safe 在设置代理后正常通过并成功部署。

@wangwangit

Copy link
Copy Markdown
Owner

感谢你把代理环境下的报错和原因查清楚,这个问题确实需要修。原补丁在输出找不到 [ 时会返回空列表,setup 可能因此把已有的 KV 命名空间当成不存在并尝试创建。我们采用了你的定位,在 master 中改为只跳过 Wrangler 的代理提示行;如果余下内容不是有效的命名空间列表,就明确报错。为避免两个实现并存,我先关闭这个 PR。谢谢你提供复现和修复方向!

@wangwangit wangwangit closed this Sep 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants