<p>Hello friends, I'm the new member of the gang. I have questions. I've just started learning golang. As I understand I have to set up stuff for GOPATH and PATH... I'm confused about that. I want to set up these things for just once and ready to code. I like autocomplete and want to use GoSublime plugin for that.</p>
<p>I installed golang with Homebrew. "which go" outputs " /usr/local/bin/go " </p>
<p>Question 1 : for better working space I created /Developer/goprojects . Do I have to set my path stuff for only this directory even I have multiple projects in that folder ?</p>
<p>Question 2: I want to use Sublime's GoSublime plugin for autocomplete and other stuff. Do i need to install <a href="https://github.com/nsf/gocode" rel="nofollow">https://github.com/nsf/gocode</a> this package in my workspace ?</p>
<p>Question 3: How do you manage your workspace for golang projects ?</p>
<p>Regards.</p>
<hr/>**评论:**<br/><br/>Luett_un_Luett: <pre><blockquote>
<p>Question 1 : for better working space I created /Developer/goprojects . Do I have to set my path stuff for only this directory even I have multiple projects in that folder ?</p>
</blockquote>
<p>Set GOPATH=/Developer/goprojects and PATH=${PATH}:${GOPATH}/bin</p>
<blockquote>
<p>Question 3: How do you manage your workspace for golang projects ?</p>
</blockquote>
<p>I have one GOPATH ("/Developer/goprojects" in your case). What is your question exactly? You have your source repositories under "src" (e.g. "${GOPATH}/src/github.com/<user>/<project>/**"). There is nothing more to manage!? </p></pre>TheMerovius: <pre><p>Unless you use packages that have the diamond dependency problem (i.e. A depends of B and C, which both depend on D, but on different API versions), which I never had so far, it is not a problem to have only one gopath for everything. Even if you have this problem, you can use vendoring to resolve it transparently to B and C.</p>
<p>So. Just have one gopath for everything. It's fine.</p>
<p>A lot of people btw actually set <code>GOPATH=$HOME</code>. And already have `~/bin~ in their path anyway.</p></pre>jahayhurst: <pre><p>iirc, installing go through homebrew is out of date. I would recommend double checking that - tbh it's not that hard to install go and I just do it by hand - even when I had homebrew.</p>
<p>You should modify your $PATH to include the location for the go system binaries (if they are in <code>/usr/local/bin</code> make sure that's there) and maybe set <code>$GOROOT</code> if needed?</p>
<p>You should probably include <code>$GOPATH/bin</code> - your <code>bin</code> folder within your <code>$PATH</code>, so you can run stuff easier.</p>
<p>Since you're using sublime on OSX, you're also going to want a package called <code>Fix Mac Path</code> - sublime on a mac is usually launched by launchctl, which doesn't give you $GOPATH and $GOROOT and $PATH that you just set, so you can set those with that.</p>
<p>And, RE #2, you shouldn't need gocode for Sublime (that's for vim and emacs?), but the auto completion for sublime is only based on other patterns that appear in your open buffers (from what I can tell).</p></pre>lacion: <pre><p>why is installing go with homebrew out of date? </p>
<p>i just did it a few days ago and i got 1.5.1, could you elaborate on why its better to do it by hand?</p></pre>jahayhurst: <pre><p>If you've got 1.5.1 from Homebrew, it's up to date.</p>
<p>I remember back when 1.4 released, Homebrew was still installing 1.3 iirc. And I want to say a bit before 1.5 hit (a couple of months?) it was still running 1.3. My experience has been that it's out of date - possibly not the case.</p>
<p>That aside, I install it by hand because it's as simple as:</p>
<pre><code>curl https://storage.googleapis.com/golang/go1.5.1.darwin-amd64.tar.gz|tar xf -C /usr/local
</code></pre>
<p>And then creating the required directories, and setting env variables - stuff that comes from my dotfiles. Clicking through a pkg install requires me to do stuff, Homebrew requires Homebrew (which I recently moved away from), and I'd rather just automate it independent of everything else.</p></pre>philsturgeon: <pre><p>Take a look at <a href="http://getgb.io" rel="nofollow">http://getgb.io</a></p></pre>
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传