Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
cmd/go: documentation cmd/go get claims "installs" but "go install" has a different effect #15825
Please answer these questions before submitting your issue. Thanks!
Trying to build a software from source with dependencies
The dependencies shall not be recompiled each time.
The documentation to "go get" says:
Get downloads and installs the packages named by the import paths, along with their dependencies. """
and "go install" says:
Install compiles and installs the packages named by the import paths, along with their dependencies. """
There are two inconsistencies:
Both inconsistencies solved, so my mental model about what is happening can
The inconsistencies above.
changed the title
documentation cmd/go get claims "installs" but "go install" has a different effect
May 25, 2016
@ianlancetaylor thanks for trying to reproduce my problem.
Nevertheless the missing "compile" in the "go get" section already is an inconsistency in the documentation. And given that I have a situation where I get an unexpected rebuild, some hints
In my problem-showing-setup I think the go version was switched a few times:
the rebuild happens with github.com/mattn/go-sqlite3 all the time and I've noticed it
Given the documentation this should probably not have happened.
@ianlancetaylor thanks for your response.
The technical part (which initially matched the documentation inconsistency) needs to be investigated
pushed a commit
Jun 10, 2016
https://groups.google.com/forum/#!topic/golang-nuts/7t9PFp3zYPo seems to be related to this case.
If sqlite3 is present on disk it will not be fetched and therefore not
As you saw in that thread I recommend using go install -v always. This will
On Thu, 16 Jun 2016, 15:59 Sascha L. Teichmann firstname.lastname@example.org
@davecheney Oh, are you saying that "go get" will not compile and install, if it already finds a version on disc? In my test case that would mean I got the "download" and "compile" steps done, but not the "install" step? How could I create this situation? (I probably only used "go get" maybe some "go installs" and later go build on my local source code. The local source finds the go-sqlite3 pacages and uses it, so it must be compiled at the right place I think.)