为什么 Ubuntu WSL 在检查 heroku 版本时显示错误?

Why does Ubuntu WSL shows error when checking heroku version?

我在C盘安装了heroku。我还在 Ubuntu WSL 中安装了 heroku。当我尝试检查它显示的 heroku 版本时:

/mnt/c/Program Files/heroku/bin/../client/bin/heroku.cmd: 1: @echo: not found 
/mnt/c/Program Files/heroku/bin/../client/bin/heroku.cmd: 2: setlocal: not found 
/mnt/c/Program Files/heroku/bin/../client/bin/heroku.cmd: 4: Syntax error: "(" unexpected (expecting "then")

我试图在命令提示符下推入我的代码文件夹。

git push heroku main
fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository.

看起来您正试图在 Linux shell 中 运行 批处理脚本(用于 cmd.exe)(可能 bash 除非您已经改变了)。那是行不通的。

WSL 中可以 运行 Windows .exe 文件,但我认为 Windows 版本中没有 heroku.exe。我建议您 install the Linux version 就在 WSL 中并改用它。

尝试使用 sudo heroku --version 这会强制系统使用 WSL2 中的 Heroku 而不是 windows,我强烈建议在使用 Heroku CLI 时删除 windows 中的任何 Herku CLI 实例在 WSL2.