Buffalo CLI安装路径由GOBIN环境变量决定:未设置时默认为$HOME/go/bin(Linux/macOS)或%USERPROFILE%\go\bin(Windows);修改需先export GOBIN=绝对路径、加入PATH并重载配置。

Buffalo 框架本身不支持“指定目录安装 CLI 工具”——go install 的行为由 Go 工具链决定,不是 Buffalo 自定义的。你真正能控制的,是 GOBIN 环境变量所指向的二进制输出目录。
go install 默认把 buffalo 放哪
执行 go install github.com/gobuffalo/cli/cmd/buffalo@latest 后,二进制文件 buffalo 会被写入:
– Linux/macOS:默认是 $HOME/go/bin
– Windows:默认是 %USERPROFILE%\go\bin
这个路径由 GOBIN 环境变量控制;若未设置 GOBIN,则 fallback 到 $GOPATH/bin(而 GOPATH 默认又是 $HOME/go)。
想换安装目录?改 GOBIN 就行
这不是 Buffalo 的配置项,而是 Go 的环境约定。操作分两步:
- 在 shell 配置中(如
~/.zshrc或~/.bashrc)添加:export GOBIN=$HOME/.local/bin
(替换成你想要的绝对路径,确保该目录已存在且可写) - 重载配置:
source ~/.zshrc,再运行go install ... - 验证是否生效:
which buffalo应返回你指定的路径,比如/home/you/.local/bin/buffalo
注意:GOBIN 必须是**绝对路径**,不能含 ~;且该目录需提前 mkdir -p 创建好,否则 go install 会静默失败。
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
为什么不用 --prefix 或类似参数
Buffalo CLI 没有提供 --prefix、--install-dir 这类命令行开关——它完全依赖 go install 的机制。试图用 go install -o /some/path/buffalo ... 会报错,因为 -o 不被 go install 支持(那是 go build 的参数)。
装完后发现 PATH 没包含新目录
这是最常被忽略的一环。即使 GOBIN 设对了,shell 也得知道去哪找 buffalo:
- 确认
GOBIN已加入PATH,例如在~/.zshrc中追加:export PATH="$GOBIN:$PATH"
- 执行
echo $PATH看输出里有没有你的GOBIN路径 - 如果用的是 Fish shell 或其他非 POSIX shell,语法不同,别直接抄
export
没加进 PATH,buffalo version 就会提示 command not found,哪怕二进制明明躺在那儿。

















