diff --git a/cmd/installer-helper/main.go b/cmd/installer-helper/main.go index 20e82857..1f7dfac7 100644 --- a/cmd/installer-helper/main.go +++ b/cmd/installer-helper/main.go @@ -52,7 +52,7 @@ func main() { return } - unzip := helpers.NewUnzip(zipPath, targetPath) + var unzip = helpers.NewUnzip(zipPath, targetPath) err := unzip.Run() if err != nil { stderr("ERROR: " + err.Error()) diff --git a/internal/installers/helpers/unzip.go b/internal/installers/helpers/unzip.go index a7f54b54..1e768217 100644 --- a/internal/installers/helpers/unzip.go +++ b/internal/installers/helpers/unzip.go @@ -37,8 +37,8 @@ func (this *Unzip) Run() error { }() for _, file := range reader.File { - info := file.FileInfo() - target := this.targetDir + "/" + file.Name + var info = file.FileInfo() + var target = this.targetDir + "/" + file.Name // 目录 if info.IsDir() { @@ -62,7 +62,7 @@ func (this *Unzip) Run() error { } // 文件 - err := func(file *zip.File, target string) error { + err = func(file *zip.File, target string) error { fileReader, err := file.Open() if err != nil { return err @@ -71,6 +71,10 @@ func (this *Unzip) Run() error { _ = fileReader.Close() }() + // remove old + _ = os.Remove(target) + + // create new fileWriter, err := os.OpenFile(target, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, file.FileInfo().Mode()) if err != nil { return err