指定运行目录为二进制文件所在目录

pull/79/head^2
zhangchenhao 2025-05-10 18:22:01 +08:00
parent 3f3622779b
commit efa6c2c881
1 changed files with 21 additions and 0 deletions

View File

@ -10,6 +10,27 @@ import (
)
func init() {
// 指定运行目录为当前目录
exePath, err := os.Executable()
if err != nil {
fmt.Fprintf(os.Stderr, "获取可执行文件路径失败: %v\n", err)
os.Exit(1)
}
exePath, err = filepath.EvalSymlinks(exePath) // 解决 macOS/Linux 下软链接问题
if err != nil {
fmt.Fprintf(os.Stderr, "解析软链接失败: %v\n", err)
os.Exit(1)
}
exeDir := filepath.Dir(exePath)
err = os.Chdir(exeDir)
if err != nil {
fmt.Fprintf(os.Stderr, "切换目录失败: %v\n", err)
os.Exit(1)
}
os.MkdirAll("data", os.ModePerm)
dbPath := "data/data.db"