gotool
Golang 通过 $GOPATH
来决定优先用哪里的源码。而这也就是 workspace。
开发者往往需要多个 workspace。
- 一个 global 的 workspace
- 一个自己常用的开发环境的 workspace
- 还有一个,在调试别人项目的时候,需要载入别人 Godeps 下的 workspace
而切换这些 workspace 都靠 export $GOPATH=xxx:$GOPATH
,这样不够方便,而且容易搞糊涂,不能明显知道自己到底在哪个环境里。另外,go install
后,还依赖 $PATH
中要加入 <workspace>/bin
才能立即使用所安装的程序。
所以,受 Python 里 virtualenv 工具的启发,写了这个工具:gotool
项目地址:https://github.com/ohmystack/gotool
安装
git clone https://github.com/ohmystack/gotool.git
cd gotool
cp gotool /usr/local/bin/gotool
使用
Activate (a)
进到 workspace 所在的目录,执行
source gotool a
完成 $GOPATH
和 $PATH
的设置,而且命令行的开头会显示当前 workspace 的名字。
它会检查该目录下是否有 src/
,只有存在 src 目录,才能被 activate。
它还会检查这个 workspace 是不是在 Godeps/_workspace
下面,如果发现这是某个项目 Godeps
的 workspace,它在命令行开头显示的,将是这个项目的名称。
自己在哪个环境里,一目了然。
Deactivate (d)
使用后,如果想恢复到使用前的环境。只需要,deactivate 即可。
source gotool d
其它功能
这个工具现在其实是一个 bash 脚本,主要做上面这两个功能。你如果有什么好的想法,觉得可以再加入什么功能,欢迎 fork 这个项目,并把你的创意提交进来。
希望你喜欢这个工具,让它帮助你在 terminal 开发 Golang 更加方便。
comments powered by Disqus