exec: "firefox": 在 $PATH 中找不到可执行文件

exec: "firefox": executable file not found in $PATH

我正在阅读一本围棋书来学习围棋编写命令行工具。在其中一个示例中,我需要使用 html 文件打开 firefox 浏览器。命令运行是:

browserPath,_ := exec.LookPath("firefox")

// Open the file on the browser
if err := exec.Command(browserPath, "index.html").Start(); err != nil {
    return err
}

但是得到错误:

exec: "firefox": executable file not found in $PATH

我的 $PATH 是:

$HOME/bin:/usr/local/bin:$PATH

我 运行正在 mac 使用 zsh。我看了类似的问题,但还不能解决,有人看到我错过了什么吗?

首先感谢您重新提出问题,我知道这对很多人来说可能微不足道,但它可以帮助其他人看到这个答案。

问题是(正如@xarantolus 评论的那样)我的 PATH 不包含到我的 /Applications 文件夹的路径。由于我使用 zsh 和 mac,我执行了以下步骤来修复它:

首先找到 firefox 可执行文件所在的位置:

$ type -a firefox

印刷路线:

firefox is /Applications/Firefox.app/Contents/MacOS/firefox

现在打开 zshrc 文件:

$ vim ~/.zshrc

在文件中,我的 $PATH$HOME/bin:/usr/local/bin:$PATH,我添加了 /Applications,所以该行的结尾是这样的:

export PATH=$HOME/bin:/usr/local/bin:/Applications/:$PATH

注意 :$PATH 也会在添加新路径后结束

然后运行命令重新加载.zshrc

source ~/.zshrc

如果您不使用 zsh,请使用文件 .bashrc 而不是 .zshrc

Go 现在可以看到 firefox 可执行文件并按预期打开它。

在 Mac 上,您可以使用一个名为 open 的命令来打开默认浏览器。

我有和你一样的书。希望作者能解决这个问题。无论主机操作系统如何,都可以打开默认浏览器。也许有办法。我没有寻找类似于在 linux 或 windows.

上打开的命令

https://gist.github.com/ivorscott/3ddba5527e5a96136bf870a57a37e721