根本原因只有一个:buffalo二进制不在PATH中或未成功安装;需确认$GOPATH/bin是否在PATH里,并检查go install是否因Go版本

根本原因只有一个:buffalo 二进制不在系统 PATH 中,或压根没装成功。不是权限问题、不是 shell 配置错乱,就是 PATH 缺失或 go install 失败。别查防火墙、别重装 Go,先盯住这两点。
确认 $GOPATH/bin 是否在 PATH 里
Buffalo CLI 默认由 go install 放进 $GOPATH/bin,但这个路径不会自动加入 PATH。
- 先查 GOPATH:
go env GOPATH,输出类似/home/you/go或/Users/you/go - 再查 PATH 是否含该路径:
echo $PATH | grep "$GOPATH/bin"(Linux/macOS);无输出即缺失 - Windows PowerShell 用户要查
$env:PATH,注意分隔符是分号,且路径得是$env:GOPATH\bin - 常见坑:
C:\Program Files\Go\bin是 Go 自身工具路径,和$GOPATH\bin完全无关——加错一个就白忙
把 $GOPATH/bin 加进 PATH 的实操步骤
改完必须新开终端,当前窗口的 PATH 不会刷新。
Buffalo框架 1.0.1 版本源码包下载,适合需要错误处理改进、依赖更新、render.Download 注释和 request logger 调整的 v1 项目。
- zsh(macOS Catalina+ / 多数新 Linux):编辑
~/.zshrc,末尾加export PATH="$GOPATH/bin:$PATH" - bash:编辑
~/.bashrc或~/.bash_profile,同样加export PATH="$GOPATH/bin:$PATH" - PowerShell(Windows):运行
[Environment]::SetEnvironmentVariable("PATH", "$env:PATH;$env:GOPATH\bin", "User"),然后重启终端
go install 失败导致根本没生成 buffalo 二进制
如果 go install github.com/gobuffalo/cli/cmd/buffalo@latest 报错或卡住,说明二进制压根不存在,PATH 再对也白搭。
-
cannot find module providing package:Go 版本低于 1.21,或GOPROXY未设(国内建议export GOPROXY=https://goproxy.cn) - 超时或连不上 GitHub:直接放弃
go install,改用预编译包 -
GOBIN is set提示:说明你手动设置了GOBIN,二进制被放去别的目录了——查go env GOBIN,把那个路径加进PATH - 最稳方案:去 GitHub Releases 下
buffalo_*.tar.gz,解压后把buffalo文件扔进/usr/local/bin(Linux/macOS)或C:\Windows\System32(Windows),Linux/macOS 还要chmod +x
Buffalo 已归档,2026 年起官方不再维护
截至 2026 年 10 月,github.com/gobuffalo/cli 仓库已归档,@latest 无法拉取,goproxy.cn 等镜像也不再缓存其 tag。你现在看到的“安装成功”,很可能是旧版二进制残留,或是本地缓存未清导致的假象。真要跑起来,只能锁定旧版本(如 @v0.18.1),并配合 BUFFALO_PLUGIN_CHECK=false 绕过插件检查——但这只是临时止血,不是长期方案。

















