revel: command not found 是因 $GOPATH/bin 未加入 PATH;需执行 export PATH="$PATH:$GOPATH/bin"(Linux/macOS)或添加 %GOPATH%in 到系统环境变量(Windows),并重载配置或使用系统终端验证。

revel: command not found 是 GOPATH/bin 没进 PATH
执行 revel new myapp 报这个错,说明系统根本找不到 revel 可执行文件。不是没装好,是装好了但 shell 找不到它。
检查是否真安装了:ls $GOPATH/bin/revel* —— 如果有输出(比如 revel 或 revel.d),就证明 go install 成功了;没输出才是真没装。
常见疏漏点:
-
$GOPATH/bin未加入$PATH:Linux/macOS 运行export PATH="$PATH:$GOPATH/bin",Windows 在系统环境变量里追加%GOPATH%in - 终端未重载配置:改完
.bashrc或.zshrc后忘了source ~/.zshrc - 用的是 IDE 内置终端,它可能不读 shell 配置:换系统终端验证
cannot find package "github.com/agtorre/gocolorize" 类错误本质是代理问题
这类报错不是你漏下某个包,而是 go get 或 go build 在拉取依赖时被墙了。Revel 依赖链里包含 golang.org/x/...、gopkg.in/... 等境外域名,国内直连基本失败。
必须设 Go 代理才能继续:
- 临时生效:
export GOPROXY=https://goproxy.cn,direct(Linux/macOS)或set GOPROXY=https://goproxy.cn,direct(Windows CMD) - 永久生效:在
~/.bashrc或go env -w GOPROXY=https://goproxy.cn,direct - 验证是否生效:
go env GOPROXY应输出https://goproxy.cn,direct
设完代理后,删掉 $GOPATH/src/github.com/revel 和 $GOPATH/pkg 下相关缓存,再重新 go install github.com/revel/cmd/revel。
go build github.com/revel/revel 报 import cycle 错误
这是老式手动编译方式的典型陷阱。直接 go build Revel 源码会触发循环导入,因为 Revel 自身依赖 golang.org/x/net/websocket,而该包又反向依赖部分 Revel 工具逻辑。
正确路径只有一条:不要自己 build Revel 框架本身,而是用 go install 安装其 CLI 工具:
- 运行
go install github.com/revel/cmd/revel@latest(推荐) - 或
go install github.com/revel/cmd/revel(若用旧版 Go) - 注意:目标是
cmd/revel,不是revel包本身
装完后 which revel 能定位到二进制,且 revel version 有输出,才算真正就绪。
Windows 上反复报 D:GO_WorkSpacesrc... not found
错误信息里出现类似 D:GO_WorkSpacesrcgithub.comgtorregocolorize 的路径,说明 Go 正在按 $GOPATH 查找包,但你实际把代码放到了别处(比如 C:myapp),或者 $GOPATH 设置错了。
关键动作:
- 确认
go env GOPATH输出是你期望的路径(如D:GO_WorkSpace) - 确保所有 Revel 相关操作(
revel new、revel run)都在%GOPATH%src下进行,例如项目必须建在%GOPATH%srcgithub.comyournamemyapp - 避免在路径中混用正斜杠
/和反斜杠:统一用/或双\,否则 Windows 下某些 Go 版本会解析失败
最稳妥的验证方式:go list -f '{{.Dir}}' github.com/yourname/myapp 必须返回一个真实存在的磁盘路径,否则 Revel 根本无法识别你的应用。
路径错误背后几乎全是环境变量和代理的组合问题,而不是代码或框架缺陷。先锁死 GOPATH 和 GOPROXY,再验证 which revel,比反复重装快得多。


















