Skip to content

go install 安装(源码) ​

适合本机已有 Go 工具链(≥ 1.26) 的场景:直接从源码构建安装, 不依赖预编译包下载。安装后与脚本安装一样,用主程序内置的服务管理注册 systemd。

1. 安装二进制 ​

bash
# 开发版(跟随 master,tag dev 每次 push 覆盖发布)
go install cnb.cool/liumou.site/GoPanel@dev

# master 分支
go install cnb.cool/liumou.site/GoPanel@master

# 指定正式版本
go install cnb.cool/liumou.site/GoPanel@vX.Y.Z

说明:

  • 模块源为 cnb.cool;国内网络建议先设置模块代理: export GOPROXY=https://goproxy.cn,direct
  • 二进制落在 $(go env GOPATH)/bin/GoPanel(设置了 GOBIN 则在其下)
  • ⚠️ 内嵌前端为占位页:构建产物(frontend/management/dist)不入库, go install 不会构建前端,因此面板页面 404(后端 API 正常)。 需要完整界面请使用一键脚本安装或预编译包; 从源码出完整产物的步骤见从源码构建。

2. 创建全局命令软链 ​

bash
sudo ln -sf "$(go env GOPATH)/bin/GoPanel" /usr/bin/gopanel

软链是服务注册的固定入口:systemd unit 的 ExecStart 始终写 /usr/bin/gopanel,之后无论用 go install 升级(二进制替换在 Go bin 目录) 还是脚本升级(二进制替换在安装目录),unit 都不用改。

3. 注册 systemd 服务(主程序内置) ​

bash
sudo gopanel -install

主程序(内置 glsm v2)完成:创建 /usr/bin/gopanel 软链(幂等)→ 写 unit (/etc/systemd/system/gopanel.service)→ daemon-reload → enable 开机自启 → 启动。

  • 幂等:服务已存在时自动「更新并重启」,升级 / 重装复用同一条命令;
  • WorkingDirectory 为二进制真实所在目录,SQLite 等相对路径数据落在其下;
  • 配置文件读取 /etc/gopanel/config.toml(与脚本安装一致,可手动创建)。

建议:go install 场景为数据目录使用绝对路径

Go bin 目录不适合存放运行数据,建议在 /etc/gopanel/config.toml 里把 SQLite 文件指到固定位置:

toml
[db]
type = "sqlite"
file = "/var/lib/gopanel/gopanel.db"

4. 日常管理 ​

bash
gopanel -service status    # 查看状态
gopanel -service restart   # 重启
gopanel -service stop      # 停止
gopanel -uninstall         # 卸载服务(保留程序、软链与数据)

5. 升级 ​

bash
go install cnb.cool/liumou.site/GoPanel@dev   # 拉取新版本覆盖 Go bin 下的二进制
sudo gopanel -service restart                 # 重启即运行新版本(unit 无需改动)

基于 AGPL-3.0 协议发布