@@ -19,11 +19,22 @@ import (
1919)
2020
2121var (
22- version = "0.5.1 "
22+ version = "0.5.2 "
2323 commit = "unknown"
2424 date = "unknown"
2525)
2626
27+ // getExecutableDir 获取可执行文件所在目录
28+ func getExecutableDir () string {
29+ execPath , err := os .Executable ()
30+ if err != nil {
31+ // 回退到当前工作目录
32+ wd , _ := os .Getwd ()
33+ return wd
34+ }
35+ return filepath .Dir (execPath )
36+ }
37+
2738func main () {
2839 // 检查子命令
2940 if len (os .Args ) > 1 {
@@ -91,8 +102,9 @@ func main() {
91102 logger := initLogger (cfg .Debug )
92103 defer logger .Sync ()
93104
94- // 初始化存储
95- dataDir := filepath .Join (filepath .Dir (cfg .GetConfigPath ()), "data" )
105+ // 初始化存储 - 数据库在可执行文件所在目录的 data 子目录
106+ execDir := getExecutableDir ()
107+ dataDir := filepath .Join (execDir , "data" )
96108 store , err := storage .New (dataDir )
97109 if err != nil {
98110 logger .Fatal ("初始化存储失败" , zap .Error (err ))
@@ -123,21 +135,14 @@ func showStats(args []string) {
123135 configPath := fs .String ("config" , "" , "配置文件路径" )
124136 _ = fs .Parse (args )
125137
126- // 确定数据目录
138+ // 确定数据目录 - 默认在可执行文件所在目录
127139 var dataDir string
128140 if * configPath != "" {
129141 // 从配置文件路径推导数据目录
130142 dataDir = filepath .Join (filepath .Dir (* configPath ), "data" )
131143 } else {
132- // 尝试从 systemd 服务获取配置路径
133- serviceConfig := "/opt/project/coding-plan-mask/config/config.toml"
134- if _ , err := os .Stat (serviceConfig ); err == nil {
135- dataDir = filepath .Join (filepath .Dir (serviceConfig ), "data" )
136- } else {
137- // 默认路径
138- homeDir , _ := os .UserHomeDir ()
139- dataDir = filepath .Join (homeDir , ".config" , "coding-plan-mask" , "data" )
140- }
144+ // 使用可执行文件所在目录
145+ dataDir = filepath .Join (getExecutableDir (), "data" )
141146 }
142147 dbPath := filepath .Join (dataDir , "proxy.db" )
143148
0 commit comments