Heroku登录无法打开浏览器

18

当我尝试通过CLI登录Heroku时,我会收到以下信息:

user@MyMachine:$ sudo heroku login 
heroku: Press any key to open up the browser to login or q to exit: 
Opening browser to https://cli-auth.heroku.com/auth/browser/SOME-HEROKU-TOKEN
Warning: Cannot open browser.
heroku: Waiting for login... !

当我在浏览器中打开链接并尝试登录时,登录进程挂起了。

但是在CLI中什么都没有发生。

使用调试标志产生以下结果:

user@MyMachine:~$ sudo HEROKU_DEBUG=true HEROKU_DEBUG_HEADERS=1 heroku login 
heroku: Press any key to open up the browser to login or q to exit: 
Opening browser to https://cli-auth.heroku.com/auth/browser/SOME-OTHER-TOKEN
Warning: Cannot open browser.
    at Object.warn (/snap/heroku/3776/node_modules/@oclif/errors/lib/index.js:33:15)
    at showUrl (/snap/heroku/3776/node_modules/@heroku-cli/command/lib/login.js:132:34)
    at ChildProcess.cp.on.code (/snap/heroku/3776/node_modules/@heroku-cli/command/lib/login.js:145:17)
    at ChildProcess.emit (events.js:193:13)
    at maybeClose (internal/child_process.js:999:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:266:5)
heroku: Waiting for login... !
JSONError: Unexpected end of JSON input while parsing near ' '
    at module.exports (/snap/heroku/3776/node_modules/parse-json/index.js:26:19)
    at HTTP._parse (/snap/heroku/3776/node_modules/@heroku-cli/command/node_modules/http-call/lib/http.js:343:25)

再次,悬挂。


1
我不清楚为什么,但是“heroku login -i”很好用。 - asifhaider
4个回答

44

Heroku正在进行更新,但尝试这个应该可以工作:heroku login -i


1
谢谢,这很有帮助!我注意到命令 heroku login -i 已经有记录了,但当我搜索 Warning: Cannot open browser. 时,最终来到了这里。 - Keehl
1
这节省了我很多时间,截至2021年1月仍在工作。 - CodeBug

7

我通过以下方式解决了这个问题:

  1. 以root身份运行 - sudo su
  2. /snap/bin文件夹添加到我的PATH中 - PATH=$PATH:/snap/bin
  3. 执行heroku login,将链接复制到浏览器中,然后登录

出于某种原因,这让我在CLI中正确连接。 如果有人能够给出一些解释就更好了。


0

您还可以生成一个永不过期的OAuth令牌,并通过环境变量将其传递给CLI。请参见我的答案此处以了解如何执行此操作。您可能已经拥有API密钥。在Heroku Web仪表板中检查“帐户设置”>“帐户”>“API密钥”。


0

我是Windows用户,从Git Bash切换到Windows命令行对我很有帮助,只需使用heroku login即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接