在MacOS中用Golang查找文件的方法

在MacOS中用Golang查找文件的方法 在何处设置/导出 GoPath/GoRoot 环境变量。我可以在终端中运行 go 命令,所以我知道它已正确安装,只是找不到设置这些变量的文件。我已经检查了 .bash_profile 和 .bashrc 文件。我是通过二进制文件安装 go 的。

Capture39

11 回复

找到了。/etc/paths.d/go

更多关于在MacOS中用Golang查找文件的方法的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


“shell” 是指 .bash_profile 文件吗?

我在哪里可以找到“PATH”,是哪个文件夹/文件名?

除非你在某个启动文件中覆盖了默认设置,否则 go 可执行文件会使用一些默认值。

我无法在终端中使用Julia,只能在其专用的控制台中使用。因此我添加了这几行代码,现在可以在任何地方使用julia了。我现在可以在任何地方使用Go,在哪里可以找到类似这样的Go代码呢?

GOPATH 和 GOROOT 在您的 shell 中设置,否则 Go 会使用其默认值。默认情况下,GOPATH 为 ~/go,而 GOROOT 为 go 命令二进制文件所在目录的上层目录。

如果运行的是bash,那就是你正在使用的shell。Bash是Mac系统的默认shell,所以除非你修改过设置,否则应该就是它。

遗憾的是,bash在加载配置文件时遵循一套相当复杂的规则。我曾就此写过一篇相关文章

根据您安装 go 的方式,它可能已经位于您的 PATH 环境变量已知的位置。在我的系统中,/usr/bin/go 处有一个软链接(且 /usr/binPATH 中),它指向 /usr/lib/go/bin/go,也许您的系统也存在类似的情况?

您可以使用以下命令来了解更多关于 go 当前位置的信息:

which go; ls -lh $(which go)

在 macOS 中,Go 语言环境变量(如 GOPATH 和 GOROOT)通常不需要手动设置,特别是如果你通过官方二进制包安装 Go 且能正常运行 go 命令。GOROOT 会自动指向 Go 的安装目录,而 GOPATH 默认为 $HOME/go。但如果你需要自定义这些变量,可以按照以下步骤操作。

1. 检查当前 Go 环境变量

首先,在终端中运行以下命令,确认当前 Go 的设置:

go env GOPATH
go env GOROOT

如果输出显示默认值(例如 GOPATH 为 $HOME/go),则无需修改。如果输出为空或不符合预期,再继续设置。

2. 设置环境变量

在 macOS 中,环境变量通常在 shell 配置文件中设置。由于你已检查 .bash_profile.bashrc,但未找到相关设置,可能是因为你使用的是其他 shell(如 zsh)。请根据你的 shell 类型选择对应文件:

  • 对于 Bash:编辑 ~/.bash_profile~/.bashrc
  • 对于 Zsh(macOS Catalina 及更高版本默认):编辑 ~/.zshrc

使用文本编辑器(如 nanovim)打开相应文件。例如,对于 Zsh:

nano ~/.zshrc

在文件末尾添加以下行来设置 GOPATH 和 GOROOT(根据需要调整路径):

export GOPATH=$HOME/mygo  # 将 mygo 替换为你的工作目录
export GOROOT=/usr/local/go  # 通常不需要设置,除非 Go 安装在其他位置
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

保存文件后,运行以下命令使更改生效:

source ~/.zshrc  # 如果使用 Bash,替换为 source ~/.bash_profile

3. 验证设置

重新打开终端或运行 source 命令后,使用 go env GOPATHgo env GOROOT 检查变量是否已更新。示例输出:

$ go env GOPATH
/Users/yourusername/mygo
$ go env GOROOT
/usr/local/go

注意事项

  • 如果 Go 是通过二进制包安装的,GOROOT 通常自动设置为 /usr/local/go,无需手动导出。
  • GOPATH 默认为 $HOME/go,只有在需要自定义工作目录时才设置。
  • 确保 PATH 包含 $GOPATH/bin$GOROOT/bin,以便运行 Go 工具和二进制文件。

如果你遇到问题,请提供 go env 的完整输出,以便进一步诊断。

回到顶部