run.go 771 B

1234567891011121314151617181920212223242526272829303132333435
  1. package quickstart
  2. import (
  3. "os"
  4. "os/exec"
  5. "runtime"
  6. "github.com/zeromicro/go-zero/tools/goctl/vars"
  7. )
  8. func goStart(dir string) {
  9. goproxy := "GOPROXY=https://goproxy.cn"
  10. execCommand(dir, "go run .", goproxy)
  11. }
  12. func goModTidy(dir string) int {
  13. goproxy := "GOPROXY=https://goproxy.cn"
  14. log.Debug(">> go mod tidy")
  15. return execCommand(dir, "go mod tidy", goproxy)
  16. }
  17. func execCommand(dir string, arg string, envArgs ...string) int {
  18. cmd := exec.Command("sh", "-c", arg)
  19. if runtime.GOOS == vars.OsWindows {
  20. cmd = exec.Command("cmd.exe", "/c", arg)
  21. }
  22. env := append([]string(nil), os.Environ()...)
  23. env = append(env, envArgs...)
  24. cmd.Env = env
  25. cmd.Dir = dir
  26. cmd.Stdout = os.Stdout
  27. cmd.Stderr = os.Stderr
  28. _ = cmd.Run()
  29. return cmd.ProcessState.ExitCode()
  30. }