通过VS Code终端登录Sanity失败,请求技术支持
解决Sanity CLI Google登录时的
spawn undefined\System32\... ENOENT错误 问题描述
执行npm -y create sanity@latest并选择Google登录后,终端尝试打开浏览器时触发未处理错误,核心报错信息:
Error: spawn undefined\System32\WindowsPowerShell\v1.0\powershell ENOENT
errno: -4058, code: 'ENOENT'
原因分析
报错路径里的undefined说明系统环境变量缺失关键配置——SystemRoot或windir变量未正确设置,导致Sanity CLI无法拼接出PowerShell的正确路径,进而无法启动浏览器打开登录链接。
解决方法
1. 修复系统环境变量
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」列表中查找
SystemRoot:- 若存在,确认其值为
C:\Windows(系统盘为C盘时,若系统盘是其他盘符则对应修改) - 若不存在,点击「新建」,变量名填
SystemRoot,变量值填C:\Windows
- 若存在,确认其值为
- 同样检查
windir变量,确保值为C:\Windows - 保存设置后重启所有终端窗口(包括cmd、PowerShell、VS Code内置终端等),重新执行Sanity初始化命令
2. 手动完成登录流程
- 按
Ctrl + C终止当前报错的进程 - 复制报错日志中的登录链接,手动在浏览器中打开并完成Google登录
- 回到终端重新执行
npm -y create sanity@latest,此时CLI会检测到已完成的登录状态,继续后续流程
3. 降级Sanity CLI版本(备选方案)
若上述方法无效,可尝试使用旧版本CLI(部分用户反馈旧版本登录逻辑更稳定):
# 卸载当前全局Sanity CLI npm uninstall -g @sanity/cli # 安装指定稳定版本 npm install -g @sanity/cli@3.14.0 # 重新初始化项目 sanity init
内容的提问来源于stack exchange,提问作者Denzel Domingo
相关产品推荐
相关产品推荐

