如何让Deno正常使用DENO_AUTH_TOKENS环境变量拉取私有模块?
问题解决步骤
1. 修正DENO_AUTH_TOKENS环境变量格式
Deno不会全局携带令牌,你需要在环境变量中明确指定令牌适用的域名,正确格式为:
<你的GitHub PAT>@raw.githubusercontent.com
绝大多数该类报错都是因为仅配置了令牌值,未追加
@raw.githubusercontent.com后缀,导致Deno不知道该在请求GitHub Raw资源时携带授权头,自然不会在debug日志中出现令牌相关记录。如果需要配置多个域名的令牌,用英文逗号分隔不同的令牌@域名条目,不要加空格。
配置完成后可执行以下命令验证环境变量是否符合要求:echo $DENO_AUTH_TOKENS
返回结果示例:ghp_abc123def456@raw.githubusercontent.com
2. 临时测试验证
如果调整环境变量后仍报错,可以直接通过请求头参数运行验证令牌有效性:deno run --header "Authorization: token 你的GitHub PAT" 你的入口文件.ts
如果该命令可正常运行,即可确认问题根源为环境变量配置错误。
3. 清理Deno缓存
如果之前请求过该私有模块返回过404,异常结果可能被Deno本地缓存,可执行命令强制刷新缓存:deno cache --reload https://raw.githubusercontent.com/MYCOMPANY/MYREPO/main/MYFILE.ts
4. 版本兼容验证
Deno 1.14.2存在已知的环境变量解析边界问题,若以上操作均无效可升级到1.15.3及以上的稳定版重试,升级命令为:deno upgrade --version 1.15.3
内容的提问来源于stack exchange,提问作者Shawn Tabai
相关产品推荐
相关产品推荐

