에서 'go build'명령을 호출하면 코드를 동적으로 작성해야하고 코드를 테스트해야합니다. 그래서 "빌드 빌드"명령을 사용하여 'os.exec'함수를 호출해야합니다.내 프로젝트에 golang os.exec
내가 '/data/test/mycode.go'와 같은 임시 디렉토리에 코드를 작성할 때. 그리고 나는 'go build'라고 부르려고하는데, 'no such file or directory'라는 에러를 리턴한다. 어떻게이 작업을 올바르게 수행 할 수 있습니까? 덕분에 아래의 모든 :
몇 가지 코드 '
// is not work too
// goPath, err := exec.LookPath("go")
var out, stderr bytes.Buffer
cmd := exec.Command(fmt.Sprintf("%s/go build /data/test/mycode.go", goPath))
cmd.Stdout = &out
cmd.Stderr = &stderr
err = cmd.Run()
PS :하지만 난 명령 호출'/data/test/mycode.go '직접 터미널에 구축 이동합니다. 그것은 효과가 있습니다.
정확히 "0"인수가있는 "/ usr/local/bin/go build /data/test/mycode.go"와 같은 프로그램을 실행하고 있습니다. 각 인수 ("build"및 "/data/test/mycode.go")를 개별적으로 제공해야합니다. exec.Command' arg ... string'이 좋은 것입니다. – Volker
@Volker – William