3 ms·
Argh! I felt rage reading: Package System or lack there of. Since Go compiles everything statically, you don't have to worry about packages at runtime. But how
by Daviey 14y ago
Argh! I felt rage reading:
Package System or lack there of. Since Go compiles everything statically, you don't have to worry about packages at runtime. But how do you include libraries into your code? Simply by importing them via url, like so: import "github.com/bmizerany/pq"
It was all good until that point.
- burntsushi 14y agoAre you going to say why, or just let us guess?
- lobster_johnson 14y agoMy guess: Remote packages are useless because (afaik) you can't specify a revision. This means "go get" will get the latest HEAD, which could be anything. Go needs something like Ruby's Bundler to let a package declare what versions are required and let you pin to specific versions.
- burntsushi 14y agoIf I desperately needed a specific version of a package, I'd fork the project and freeze it where appropriate. Does the `go` tool need to be aware of versions? IMO, no. Would it be a nice feature if it could be added without making the tool difficult to use? Yes. But so far, it hasn't appeared to slow anyone down. I've worked quite a bit with distribution tools for both Python and Haskell, and Go's tool is a breath of fresh air.