Buffalo CLI 默认安装到$GOPATH/bin/buffalo,需确保该路径已加入系统PATH;若未设置GOPATH,Go会使用默认路径(如macOS/Linux为$HOME/go),仍须将$GOPATH/bin加入PATH才能全局调用buffalo命令。

buffalo CLI 安装路径由 $GOPATH/bin 决定
Buffalo CLI 用 go install 安装时,二进制文件默认落到 $GOPATH/bin/buffalo,不是你指定的任意目录。这个路径不能在安装命令里改,而是由 Go 环境变量决定。
执行 go env GOPATH 查看当前值;如果输出为空,说明 GOPATH 未设置,Go 会使用默认路径(如 macOS/Linux 是 $HOME/go,Windows 是 %USERPROFILE%\go)。无论哪种情况,go install 都只往 $GOPATH/bin 写文件。
- 必须确保
$GOPATH/bin已加入系统PATH,否则终端找不到buffalo命令 - 若想换位置(比如统一放
/usr/local/bin),不要改 GOPATH,而是改用预编译包 + 手动复制 - 修改 GOPATH 后,旧项目里
go.mod不受影响,但所有新go install命令都会走新路径
预编译包怎么指定安装路径
不依赖 Go 环境时,从 GitHub Releases 下载 buffalo_*.tar.gz 解压后,buffalo 是个独立二进制文件,你可以把它放到任何你想放的地方——只要该目录在 PATH 里。
常见做法:
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
- Linux/macOS:
sudo cp buffalo /usr/local/bin/(需sudo权限) - Linux/macOS(无 root):
cp buffalo ~/bin/ && chmod +x ~/bin/buffalo,再把~/bin加入PATH - Windows:复制到
C:\Windows\或任意目录,然后在系统环境变量中把该目录加进PATH
注意:buffalo dev 或 buffalo db migrate 这些子命令不关心 CLI 自身在哪,只关心它能否被 shell 找到。
PATH 没配好是最常见的失败原因
即使 buffalo 文件已存在,只要终端执行 buffalo version 报 command not found,基本就是 PATH 缺失。这不是 Buffalo 的 bug,是 shell 查找可执行文件的标准行为。
验证方式:
- 运行
echo $PATH(macOS/Linux)或echo %PATH%(Windows),确认输出里包含$GOPATH/bin或你手动放buffalo的路径 - 用
which buffalo(macOS/Linux)或where buffalo(Windows)看是否返回路径 - 新开终端窗口再试——很多用户改完 PATH 后忘了重启终端
别在项目目录里软链接 buffalo,也别用 alias 临时替代,这些都会让后续 CI/CD 或团队协作出问题。

















