&gt; why does Go need a package manager<p>Because a language is nothing without an ecosystem of libraries. These libraries need to be version-ed and dependencies between these libs need to be resolved.<p>&gt; Go didn&#x27;t support shared libraries until very recently<p>It still doesn&#x27;t.<p>&gt;  If I want to install a Go program without compiling it, I just use my favorite package management tool-- the cp command.<p>That&#x27;s not the issue at end here. If i&#x27;m a developer and I need to publish an open source project, i&#x27;m not going to publish it with all its dependencies. I need a mechanism to manage them, that&#x27;s what a package manager is for.<p>Go has an half baked on, go get. It can fetch dependencies but it cannot tell between versions of the dependencies.<p>It&#x27;s interesting to note that a lot of Go developers are actually against a separate package manager.