Heroku CLI 身份验证问题

Heroku CLI authentication issue

在 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

使用setx HOME <netrc_default_location>

其中 <netrc_default_location> 可以是:

  • <%NETRC%>\_netrc
  • <%HOME%>\_netrc
  • <%HOMEDRIVE%%HOMEPATH%>\_netrc
  • <%USERPROFILE%>\_netrc

可以找到一些说明 here and here

可能是您的用户 <%USERPROFILE%>。

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

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

$Env:HOMEDRIVE = "C:"

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

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

因此,问题是由于在您的本地计算机上找不到完成 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 登录问题。

这种方式适合我。在 PowerShell 中编写下一段代码,其中 "paulob" 需要 changeyour user,因为 folser "_netrc " 存在于:

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

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