revel new myapp命令可直接创建开箱即用的完整项目,无需手动建目录或配置;应用名须为合法Go包名,不支持无参或过时的-a/-r参数,创建后需cd myapp && revel run启动。

直接用 revel new 命令就能创建,不需要手动建目录、写配置或初始化模块。 它生成的是开箱即用的完整项目结构,不是空壳模板。
执行 revel new 时必须指定应用名
命令格式是 revel new <app-name>,比如:revel new myblog。不加参数会报错,也不会进入交互式引导——Revel 不支持无参创建。
- 应用名必须是合法的 Go 包名:只含小写字母、数字、下划线,且不能以数字开头
- 路径中不能有空格或中文,否则后续
revel run会因导入路径解析失败而 panic - 如果当前目录已存在同名文件夹,
revel new不会覆盖,而是直接退出并提示“directory already exists”
revel new -a 和 revel new -r 的区别容易混淆
官方文档里写的 revel new -a my-app -r bash 是过时用法(来自 2015 年左右的旧版 CLI)。现在 -a 已被废弃,-r 也不再表示“立即运行”,而是指定 shell 类型(仅用于 Windows 上启动 PowerShell/CMD 的兼容逻辑)。
- 当前稳定版(v1.0+)只认位置参数:
revel new myapp - 想创建完立刻跑起来,得分开执行:
revel new myapp && cd myapp && revel run -
revel run默认监听:9000,若端口被占,需显式加-p 9001,不能靠-r切换
创建后看不到 "It works!"?检查这几个地方
浏览器打开 http://localhost:9000 显示 404 或连接拒绝,大概率不是代码问题,而是环境卡点:
- 确认
revel命令本身可用:revel version应输出类似v1.0.0的版本号;若报“command not found”,说明没正确安装 Revel CLI(不是go install那种全局安装,必须用go install github.com/revel/cmd/revel@latest) - 检查
app.conf里的app.port=9000是否被注释或改成了字符串(如"9000"),Revel 只接受无引号纯数字 - Mac/Linux 用户遇到
fork/exec /path/to/myapp/app/tmp/main.go: no such file or directory,通常是GOROOT或GOBIN路径含空格,重装 Go 到无空格路径即可
真正麻烦的从来不是创建动作本身,而是 CLI 工具链和 Go 环境的隐式耦合——比如 revel new 内部会调用 go build 生成临时二进制,一旦 go env GOPATH 不一致或模块缓存损坏,就可能静默失败,只在终端末尾闪出一行 exit status 1。


















