Go install doesn't create any bin file

前端 未结 3 1408
感情败类
感情败类 2021-02-03 22:37

My folder structure is correct, i can both run go install from inside the package folder and from anywhere in the system, adding the package (folder) name after

相关标签:
3条回答
  • 2021-02-03 22:48

    One reason could be the file.go isn't in package main.
    See for instance "Your first program"

    If it was, that would generate a executable in bin.

    The article "How does the go build command work ?" does mention:

    A Go command is a package who’s name is main.
    Main packages, or commands, are compiled just like other packages, but then undergo several additional steps to be linked into final executable.

    0 讨论(0)
  • 2021-02-03 22:57

    I came to this question with a different problem so hopefully this helps someone. This isn't answering this question specifically, but it does answer for me at least why no binary file was being made.

    Let's say your directory structure looks like this:

    .go/
      bin/
      pkg/
      src/
        github.com/
          banool/
            myapp/
              file.go
              server.go
              cmd/
                myapp/
                  main.go
    

    I had to run these two commands:

    go build github.com/banool/myapp/...
    go build github.com/banool/myapp/cmd/...
    

    After this my binary appeared under myapp/.

    Obviously this is a very different situation to the answer above, but I came to this question with such a situation, where I had run go get to get some Go source and I didn't know how to build it. Hopefully this helps people stumbling across this question with that problem :)

    0 讨论(0)
  • 2021-02-03 22:59

    Well, as a first program, I used first line as package hello

    Then it was creating "hello.a" under pkg folder. Moment I changed it to "package main", the executable was generated

    0 讨论(0)
提交回复
热议问题