Revel 安装应使用 go install github.com/revel/cmd/revel@latest(旧式 go get 已失效),确保 GOPATH/bin 在 PATH 中,项目路径需满足 go list 可识别、无空格中文、app.conf 端口为无引号数字,首次运行卡住时优先设 GOPROXY=https://goproxy.cn,direct。

Revel 安装卡住,八成不是框架问题,而是 go install 路径、GOPATH 或网络代理没对齐——直接按当前(2026 年)最新路径和约束走,5 分钟内就能跑起 revel new myapp。
用 go install github.com/revel/cmd/revel@latest 装 CLI
旧式 go get github.com/robfig/revel/revel 已彻底失效:仓库迁移、模块弃用、Go 1.19+ 默认关闭 GOPATH 模式。现在唯一可靠路径是:
-
go install github.com/revel/cmd/revel@latest(必须带@latest,否则可能拉到 v0.x 旧分支) - 执行后运行
revel version,看到类似Revel Framework v1.1.0才算成功 - 若提示
command not found,检查$GOPATH/bin是否在PATH中(Linux/macOS 运行export PATH="$PATH:$GOPATH/bin";Windows 加入系统环境变量%GOPATH%\bin)
revel new myapp 必须满足三个路径条件
revel new 不是纯模板生成器,它依赖 Go 工作区模型解析 import path 和加载 conf/app.conf。以下任一不满足,就会静默失败或 panic:
- 项目名
myapp必须是合法 Go 包名:小写字母/数字/下划线,不能以数字开头 - 当前目录不能含空格或中文(如
/Users/张三/Desktop会触发fork/exec ... no such file) - 项目最终路径需能被
go list识别,推荐直接建在$GOPATH/src/myapp下;若用 Go Modules,也得确保go list -f '{{.Dir}}' myapp能返回有效路径
首次 revel run 卡在 “downloading dependencies” 怎么办
这不是 Revel 本身慢,而是 golang.org/x/... 等包被墙。不用换源工具或改 hosts,直接设环境变量最稳:
- 执行前加
GOPROXY=https://goproxy.cn,direct(国内推荐,免认证) - 或全局设置:
go env -w GOPROXY=https://goproxy.cn,direct - 若仍卡住,检查
app.conf里app.port=9000是否被写成字符串"9000"—— Revel 只接受无引号纯数字,否则启动时解析失败但不报错
浏览器打开 localhost:9000 显示 404 或连接拒绝
别急着改代码,先确认底层链路是否通:
- 运行
revel version和revel new testapp && cd testapp && revel run,看默认欢迎页能否出来——能则说明环境 OK,问题出在你自己的项目结构或配置 - 检查
conf/routes文件是否存在且未被重命名(Revel 强依赖该文件,删掉或改名就 404) - 开发模式默认监听
0.0.0.0:9000,若你在云服务器上跑,务必加-addr 127.0.0.1启动,否则可能被安全组拦截或暴露端口
真正容易被忽略的是:Revel 的热重载和路由匹配都依赖 import path 解析,而这个路径由 go list 决定,不是当前目录名。哪怕你把项目夹命名为 myapp,只要 go list -f '{{.ImportPath}}' . 返回空或错误,revel run 就无法定位控制器和模板。











