Heroku CLI 身份验证问题

Posted

技术标签:

【中文标题】Heroku CLI 身份验证问题【英文标题】:Heroku CLI authentication issue 【发布时间】:2019-03-15 14:43:36 【问题描述】:

在 Windows 7 上全新安装 Heroku 后,我似乎无法从命令行进行身份验证。

运行命令:heroku login 提示我输入我的凭据。这样做后,我收到一个错误:

heroku: Enter your login credentials
Email: my_email
Password: ************
Error: ENOENT: no such file or directory, open 'z:/_netrc'

我正在使用 PowerShell,当我运行命令 cat z:/_netrc 时,我收到此错误:

cat : Cannot find drive. A drive with the name 'z' does not exist.

Z: 是一个网络驱动器,可从文件资源管理器访问。

我的 %HOME% 路径中已经有一个 .netrc 文件,但它不包含 heroku 登录凭据。

查看官方文档和 CLI 帮助,我找不到任何有用的东西来解决这个问题。如何登录我的 heroku 帐户?

> heroku version
heroku/7.16.6 win32-x64 node-v10.11.0

【问题讨论】:

【参考方案1】:

因此,问题是由于在本地计算机上找不到完成 Heroku 登录所需的 _netrc 文件。我决定将文件创建到我的 Windows 10 计算机的以下位置:

cmd>set HomeDrive=C:/Users/your Windows username/AppData/Local/heroku

就我而言,

cmd>set HomeDrive=C:/Users/CrazyMoby/AppData/Local/heroku 

最后我跑了heroku login

上述步骤解决了我的heroku登录问题。

【讨论】:

【参考方案2】:

使用setx HOME <netrc_default_location>

<netrc_default_location> 可以是:

\_netrc \_netrc \_netrc \_netrc

可以在here 和here 找到一些说明。

可能是您的用户 。

但如果你不需要它,只需删除 _netrc 文件,重新启动并重新登录即可。

【讨论】:

【参考方案3】:

在powershell中运行以下命令,问题应该就解决了。

$Env:HOMEDRIVE = "C:"

如果您需要更多信息,请查看有关 windows 环境变量的文档。

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-7

【讨论】:

【参考方案4】:

这种方式对我有用。在 PowerShell 中编写下一个代码,其中 "paulob" 需要更改您的用户,因为 folser "_netrc" 存在于:

$Env:HOMEDRIVE = "C:\Users\paulob\"

【讨论】:

【参考方案5】:

如果可以的话,尝试从 GIT BASH cmd 而不是 PowerShell 运行它,我遇到了同样的问题,它在我的情况下有效。

【讨论】:

以上是关于Heroku CLI 身份验证问题的主要内容,如果未能解决你的问题,请参考以下文章

更改密码后 Heroku CLI 中的身份验证失败

连接到 Heroku PostgreSQL 数据库时的身份验证错误

Heroku节点+反应应用程序:未处理的锚标记身份验证请求

身份验证(JWT)在本地有效,但在 Heroku 无效?

为啥在 Heroku 服务器上为 Laravel JWT 身份验证收到此错误

在 mongo、node、passport 和 heroku 上对用户进行身份验证。几天后停止工作