<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Development on Edward Muller</title>
    <link>https://icanhazdowntime.org/categories/development/</link>
    <description>Recent content in Development on Edward Muller</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 15 Apr 2026 17:59:44 -0700</lastBuildDate>
    <atom:link href="https://icanhazdowntime.org/categories/development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Go 1.5&#39;s vendor/ experiment</title>
      <link>https://icanhazdowntime.org/posts/2015-07-09-go-vendor-experiment/</link>
      <pubDate>Thu, 09 Jul 2015 00:00:00 +0000</pubDate>
      <guid>https://icanhazdowntime.org/posts/2015-07-09-go-vendor-experiment/</guid>
      <description>&lt;p&gt;Go versions before 1.5 did not provide any built in method for &lt;a href=&#34;https://groups.google.com/forum/m/#!topic/golang-dev/nMWoEAG55v8&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;vendoring&lt;/a&gt; packages. The tools that currently exist today (&lt;a href=&#34;http://github.com/tools/godep&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;godep&lt;/a&gt;, &lt;a href=&#34;https://github.com/jingweno/nut&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;nut&lt;/a&gt; and a few others) basically exploit the implementation details of &lt;strong&gt;&lt;em&gt;$GOPATH&lt;/em&gt;&lt;/strong&gt;. Go 1.5 however includes a “vendor experiment”. With this experiment &lt;code&gt;go&lt;/code&gt; commands will attempt to resolve dependencies in &lt;code&gt;vendor/&lt;/code&gt; directories.&lt;/p&gt;&#xA;&lt;p&gt;Russ Cox explains it fairly well in his &lt;a href=&#34;https://github.com/golang/go/commit/183cc0cd41f06f83cb7a2490a499e3f9101befff&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;commit message&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;If there is a source directory d/vendor, then, when compiling a source file within the subtree rooted at d, import &amp;ldquo;p&amp;rdquo; is interpreted as import &amp;ldquo;d/vendor/p&amp;rdquo; if that exists.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
