Next.js项目安装Sanity遇spawn UNKNOWN登录错误,求解决方案
错误信息
Waiting for browser login to complete... Press Ctrl + C to cancel
Error: spawn UNKNOWN
at ChildProcess.spawn (node:internal/child_process:421:11)
at Object.spawn (node:child_process:761:9)
at baseOpen (C:\Users\meteh\AppData\Local\npm-cache_npx\67a0730928194b24\node_modules@sanity\cli\lib_chunks\cli-PoML_Ct2.js:13444:248) {
errno: -4094,
code: 'UNKNOWN',
syscall: 'spawn'
}
Unhandled rejection: Error: spawn UNKNOWN
解决方法
跳过自动浏览器登录,手动完成认证
执行命令:sanity login --no-browser,终端会输出一个登录链接,复制到任意浏览器打开,完成账号登录后回到终端按回车即可完成认证。修复默认浏览器关联
打开Windows设置→应用→默认应用,确认默认浏览器是正常可启动的(比如Chrome、Edge)。如果浏览器关联异常,重新设置默认浏览器,或者卸载重装浏览器修复关联。清理并重装Sanity CLI
依次执行以下命令:npm uninstall -g @sanity/cli npm cache clean --force npm install -g @sanity/cli重装后再尝试
sanity login。以管理员身份运行终端
右键CMD或PowerShell,选择「以管理员身份运行」,再执行登录命令,避免权限不足导致无法调用浏览器进程。检查Node.js版本
用node -v查看当前Node.js版本,确保是Sanity支持的LTS版本(推荐18.x或20.x)。版本过低会导致系统调用异常,升级到对应版本后再重试。
内容的提问来源于stack exchange,提问作者Metehan Yıldırım

