go: github.com/google/gopacket@v1.2.3: reading github.com/google/gopacket/go.mod at revision v1.2.3: unknown revision v1.2.3
这个问题已经解决!原因是 go.mod 文件中包含了一个不存在的依赖版本。
github.com/google/gopacket(实际未使用)github.com/mattn/go-sqlite3go.mod - 使用稳定版本cd /path/to/dhcp-dns-manager
sudo ./install.sh
cd /path/to/dhcp-dns-manager
./fix-deps.sh
然后编译:
go build -o dhcp-dns-manager ./cmd
# 1. 进入项目目录
cd /path/to/dhcp-dns-manager
# 2. 删除旧的依赖文件
rm -f go.sum
# 3. 清理模块缓存
go clean -modcache
# 4. 重新下载依赖
go mod download
go mod tidy
# 5. 编译
CGO_ENABLED=1 go build -o dhcp-dns-manager ./cmd
# Debian/Ubuntu
sudo apt update
sudo apt install -y git build-essential libsqlite3-dev
# RHEL/CentOS
sudo yum install -y git gcc make sqlite-devel
# 下载 Go 1.21
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
# 解压
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
# 添加到 PATH
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
# 验证
go version
# 进入项目目录
cd /path/to/dhcp-dns-manager
# 运行修复脚本(如果有依赖问题)
./fix-deps.sh
# 运行安装脚本
sudo ./install.sh
systemctl status dhcp-dns-manager
应该显示:
● dhcp-dns-manager.service - DHCP & DNS Manager Service
Active: active (running)
sudo netstat -ulpn | grep -E ':(53|67|8080)'
应该看到:
浏览器打开:http://your-server-ip:8080
默认账号:admin / admin
gcc: command not found解决:
sudo apt install build-essential
sqlite3.h: No such file or directory解决:
sudo apt install libsqlite3-dev
port 8080 already in use解决:
查找占用进程:
sudo lsof -i :8080
停止占用进程或修改 configs/config.json 中的端口
permission denied 绑定端口解决: DHCP (67) 和 DNS (53) 需要 root 权限:
sudo systemctl restart dhcp-dns-manager
或使用 Docker 部署(自动处理权限)。
查看详细日志:
journalctl -u dhcp-dns-manager -f
检查 Go 环境:
go version
go env
查看构建指南: 阅读 BUILD.md 获取详细帮助
提交 Issue: 提供以下信息:
祝你安装顺利! 🎉