答主: 知乎用户 (学生) 来源: reddit,@Consistent_Bottle_40
大家好, 我最近遇到了一个非常令人头疼的问题:在尝试登录 Antigravity 时,应用完全卡死了。点击“使用 Google 账号登录(Sign in with Google)”没有任何反应,也无法进入下一步。以下是具体的解决办法:
方法一:简单解决方案(优先尝试)
在修改终端或任何代码之前,请先尝试此方法。如果你的 Google 账号尚未同意 Google 开发者的服务条款,Google 会拦截身份验证令牌。Antigravity 不知道如何处理这种拦截,从而导致应用崩溃并抛出 BigInt 错误。
解决办法: 直接访问 Google Cloud Console 并登录。如果弹出任何服务条款 (ToS) 面板,请点击“同意”。完成此操作后,再次尝试登录 Antigravity,它应该可以正常工作了。
方法二:手动修复(当方法一无效时)
如果方法一不起作用,你可以通过对应用的 JavaScript 文件应用简单的补丁来绕过 BigInt 错误。这个方案的原理是由于 JSON.stringify 默认不支持 BigInt 类型,而 Antigravity 的某些登录逻辑中涉及到了 BigInt 的序列化。
修复步骤 (以 Windows 为例):
-
备份文件 打开命令提示符(终端),输入以下命令备份文件:
copy "%localappdata%\Programs\Antigravity\resources\app\out\main.js" "%localappdata%\Programs\Antigravity\resources\app\out\main.js.bak" -
用记事本打开文件 继续在终端中输入:
notepad "%localappdata%\Programs\Antigravity\resources\app\out\main.js" -
应用补丁 记事本打开后,你会看到一大片密密麻麻的压缩代码,不需要去读它。 将鼠标光标放置在文件的 最开头 (第 1 行,第 1 列)。 原封不动地粘贴以下代码片段:
BigInt.prototype.toJSON = function() { return this.toString(); };(注意:请确保在你粘贴的代码和原始代码的开头之间有一个空格或分号隔开。)
-
保存并重新启动 按 Ctrl+S 保存文件并关闭记事本。重新启动 Antigravity。
JSON.stringify 崩溃的问题现在已被绕过。点击“使用 Google 账号登录”应该能正常启动 localhost 服务器,并顺利进入下一步!
谷歌的软件会提示你要验证账号,这个可以选择手机号验证,如果没有国外的手机号,使用中国的手机号也是可以验证的
希望这能帮到其他因为这个静默 bug 而抓狂的朋友。