golang的私有化定制自动更新插件
zanbin168
2023-05-16 93e47518a430c1b33cd962d071e30794ad1d3ae4
update.go
@@ -1,6 +1,6 @@
// Package update provides tooling to auto-update binary releases
// package goupdate provides tooling to auto-update binary releases
// from GitHub based on the user's current version and operating system.
package update
package goupdate
import (
   "fmt"
@@ -103,12 +103,17 @@
// Install binary to replace the current version.
func (m *Manager) Install(path string) error {
   bin, err := os.Executable()
   executablePath, err := os.Executable()
   if err != nil {
      return errors.Wrapf(err, "looking up path of %q", m.Command)
   }
   absolutePath, err := filepath.Abs(executablePath)
   if err != nil {
      return errors.Wrapf(err, "looking up path of %q", m.Command)
   }
   dir := filepath.Dir(bin)
   dir := strings.TrimSuffix(absolutePath, "/"+m.Command)
   return m.InstallTo(path, dir)
}