运行./scripts/code.sh调试VSCode源码时GitHub API请求返回403错误
解决VSCode源码调试时同步内置扩展的403错误
问题原因
GitHub REST API对未认证的请求设置了每小时60次的速率限制,终端执行./scripts/code.sh时发起的API请求属于未认证请求,容易触发限制返回403;而浏览器访问时因携带了GitHub会话凭证,属于认证请求,速率限制更高(每小时5000次),所以能正常访问。
可行解决方案
1. 给请求添加GitHub认证(推荐)
- 在GitHub账户设置中创建一个仅拥有
public_repo权限的个人访问令牌(PAT) - 在运行
./scripts/code.sh的终端中设置环境变量,让请求自动携带令牌:export GITHUB_TOKEN=你的个人访问令牌 ./scripts/code.sh - 也可以将该环境变量添加到shell配置文件(如
~/.bashrc或~/.zshrc)中,避免每次手动输入
2. 临时跳过内置扩展同步
如果仅调试VSCode核心功能、不需要内置扩展,可直接修改脚本跳过同步步骤:
- 打开
./scripts/code.sh,找到包含sync-builtin-extensions的代码段 - 注释掉执行同步扩展的命令,再重新运行脚本
3. 手动下载扩展包并放置到指定目录
- 浏览器打开目标API链接,找到
assets中的.vsix格式扩展包下载链接并完成下载 - 将下载的
.vsix文件放到VSCode源码目录下的extensions文件夹中 - 重新运行
./scripts/code.sh,脚本会检测到已存在的扩展包,跳过触发403的下载请求
内容的提问来源于stack exchange,提问作者dai
相关产品推荐
相关产品推荐

