2016-05-26 12 views
2

go build ermöglichen präzisen binären Namen mit der Befehlszeilenoption -o. go install nicht, aber es die Binär- und Cache-Paket-Kompilierung bereitstellen.Go Install Binärer Name

Wie ändere ich den Binärnamen mit go install? oder Cache-Compilation mit go build?

Eine einfache Antwort wäre "Verwenden Sie die Installation mit dem richtigen Paketnamen", aber bitte, wo ist die Option, die ich vermisse?

Antwort

3

können Sie die -i Flags verwenden bauen zu gehen:

Das Flag -i installiert die Pakete, die Abhängigkeiten des Ziels sind.

go build -i -o binary packagename

0

Wenn Sie go help install Typ erhalten Sie

usage: go install [build flags] [packages] 

Install compiles and installs the packages named by the import paths, 
along with their dependencies. 

For more about the build flags, see 'go help build'. 
For more about specifying packages, see 'go help packages'. 

See also: go build, go get, go clean. 

Die einzige Fahnen erlaubt bauen sind

-a 
      force rebuilding of packages that are already up-to-date. 
    -n 
      print the commands but do not run them. 
    -p n 
      the number of programs, such as build commands or 
      test binaries, that can be run in parallel. 
      The default is the number of CPUs available, except 
      on darwin/arm which defaults to 1. 
    -race 
      enable data race detection. 
      Supported only on linux/amd64, freebsd/amd64, darwin/amd64 and windows/amd64. 
    -msan 
      enable interoperation with memory sanitizer. 
      Supported only on linux/amd64, 
      and only with Clang/LLVM as the host C compiler. 
    -v 
      print the names of packages as they are compiled. 
    -work 
      print the name of the temporary work directory and 
      do not delete it when exiting. 
    -x 
      print the commands. 

    -asmflags 'flag list' 
      arguments to pass on each go tool asm invocation. 
    -buildmode mode 
      build mode to use. See 'go help buildmode' for more. 
    -compiler name 
      name of compiler to use, as in runtime.Compiler (gccgo or gc). 
    -gccgoflags 'arg list' 
      arguments to pass on each gccgo compiler/linker invocation. 
    -gcflags 'arg list' 
      arguments to pass on each go tool compile invocation. 
    -installsuffix suffix 
      a suffix to use in the name of the package installation directory, 
      in order to keep output separate from default builds. 
      If using the -race flag, the install suffix is automatically set to race 
      or, if set explicitly, has _race appended to it. Likewise for the -msan 
      flag. Using a -buildmode option that requires non-default compile flags 
      has a similar effect. 
    -ldflags 'flag list' 
      arguments to pass on each go tool link invocation. 
    -linkshared 
      link against shared libraries previously created with 
      -buildmode=shared. 
    -pkgdir dir 
      install and load all packages from dir instead of the usual locations. 
      For example, when building with a non-standard configuration, 
      use -pkgdir to keep generated packages in a separate location. 
    -tags 'tag list' 
      a list of build tags to consider satisfied during the build. 
      For more information about build tags, see the description of 
      build constraints in the documentation for the go/build package. 
    -toolexec 'cmd args' 
      a program to use to invoke toolchain programs like vet and asm. 
      For example, instead of running asm, the go command will run 
      'cmd args /path/to/asm <arguments for asm>'. 

Wo -i und -o Flaggen nicht möglich install command sind und Erfolg sind Nur build command.

Jetzt, die einzige Option, die ich sehe, um den Namen der Go-Installation binäre Namen zu ändern ist manuell mv oldnamebinary newnamebinary. Zumindest ist dieses Verhalten in GO 1.6, vielleicht können sich kommende Releases ändern.

Verwandte Themen