<story><title>Effective Go</title><url>https://go.dev/doc/effective_go</url></story><parent_chain><item><author>ses1984</author><text>What do you do if you&amp;#x27;re working on a go project and you need to fork one of its dependencies? Or the project you&amp;#x27;re working on is a fork?&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;14323872&amp;#x2F;using-forked-package-import-in-go&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;14323872&amp;#x2F;using-forked-pa...&lt;/a&gt;&lt;p&gt;There are a lot of different approaches listed in here that have changed over time. Different projects evolve at different rates. You might need to become familiar with multiple old ways of dependency management to be really effective.</text></item><item><author>usrme</author><text>I&amp;#x27;m just starting out with Go, but how has the official guide[1] failed you? Genuinely curious as it seems to cover both new installations and the management of multiple versions.&lt;p&gt;---&lt;p&gt;[1]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;go.dev&amp;#x2F;doc&amp;#x2F;install&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;go.dev&amp;#x2F;doc&amp;#x2F;install&lt;/a&gt;</text></item><item><author>rplnt</author><text>What I would like is an official guide on how to set up go environment on various platforms. The language is stable, but tooling went through so many radical changes that most of the guides out there are outdated. And setting it up as you go just results in a messy setup.</text></item></parent_chain><comment><author>CraigJPerry</author><text>Not a Go developer (but i &lt;i&gt;really&lt;/i&gt; admire their devops-friendly toolchain and general ethos of keeping things simple).&lt;p&gt;I went to &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;go.dev&amp;#x2F;doc&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;go.dev&amp;#x2F;doc&amp;#x2F;&lt;/a&gt;&lt;p&gt;I clicked on &amp;quot;Managing Dependencies&amp;quot; -&amp;gt; &amp;quot;Requiring external module code from your own repository fork&amp;quot;&lt;p&gt;And arrived at:&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;go.dev&amp;#x2F;doc&amp;#x2F;modules&amp;#x2F;managing-dependencies#external_fork&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;go.dev&amp;#x2F;doc&amp;#x2F;modules&amp;#x2F;managing-dependencies#external_fo...&lt;/a&gt;&lt;p&gt;Assuming that information is correct - and i&amp;#x27;m not in a place to judge that, i just don&amp;#x27;t have the knowledge unfortunately - that journey felt pretty short and discoverable.</text></comment>
<story><title>Effective Go</title><url>https://go.dev/doc/effective_go</url></story><parent_chain><item><author>ses1984</author><text>What do you do if you&amp;#x27;re working on a go project and you need to fork one of its dependencies? Or the project you&amp;#x27;re working on is a fork?&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;14323872&amp;#x2F;using-forked-package-import-in-go&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;14323872&amp;#x2F;using-forked-pa...&lt;/a&gt;&lt;p&gt;There are a lot of different approaches listed in here that have changed over time. Different projects evolve at different rates. You might need to become familiar with multiple old ways of dependency management to be really effective.</text></item><item><author>usrme</author><text>I&amp;#x27;m just starting out with Go, but how has the official guide[1] failed you? Genuinely curious as it seems to cover both new installations and the management of multiple versions.&lt;p&gt;---&lt;p&gt;[1]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;go.dev&amp;#x2F;doc&amp;#x2F;install&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;go.dev&amp;#x2F;doc&amp;#x2F;install&lt;/a&gt;</text></item><item><author>rplnt</author><text>What I would like is an official guide on how to set up go environment on various platforms. The language is stable, but tooling went through so many radical changes that most of the guides out there are outdated. And setting it up as you go just results in a messy setup.</text></item></parent_chain><comment><author>p2detar</author><text>Are there really that many mainstream projects that use alternative dependency handling? Go modules were introduced in v1.11 and they seem pretty mature.&lt;p&gt;The replace directive seems to solve the issues with forked projects in particular. [1]&lt;p&gt;1 - &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;golang&amp;#x2F;go&amp;#x2F;wiki&amp;#x2F;Modules#when-should-i-use-the-replace-directive&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;golang&amp;#x2F;go&amp;#x2F;wiki&amp;#x2F;Modules#when-should-i-use-...&lt;/a&gt;</text></comment>