heyw@ubuntu:~/software$ tar -xvzf go1.12.7.linux-amd64.tar.gz
heyw@ubuntu:~/software/go/bin$ ./go version
go version go1.12.7 linux/amd64
heyw@ubuntu:~/software$ ls
go vmware-tools-distrib vscode
heyw@ubuntu:~/software$ mkdir go_path
heyw@ubuntu:~/software$ cd go_path/
heyw@ubuntu:~/software/go_path$ pwd
/home/heyw/software/go_path
sudo gedit /etc/profile
# config go path
export GOPATH=/home/heyw/software/go_path
export GOROOT=/home/heyw/software/go
export GOBIN=$GOROOT/bin/
export GOTOOLS=$GOROOT/pkg/tool/
export PATH=$PATH:$GOBIN:$GOTOOLS
# go proxy
export GOPROXY=https://mirrors.aliyun.com/goproxy/
export GO111MODULE=on
source /etc/profile
如果在其他目录依然无法使用go指令,那么需要重启Ubuntu系统
sudo shutdown -r now
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make
sudo umake ide visual-studio-code
cd /home/heyw/.local/share/umake/ide/visual-studio-code
./code
打开vscode后点击拓展搜索go,安装go,go outliner,docker,docker compose 和 vscode-proto3
# Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。
sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
# 安装Git
sudo apt-get install git
heyw@ubuntu:~/code/go/src$ go get -u -v github.com/nsf/gocode
heyw@ubuntu:~/code/go/src$ go get -u -v github.com/rogpeppe/godef
heyw@ubuntu:~/code/go/src$ go get -u -v github.com/lukehoban/go-find-references
heyw@ubuntu:~/code/go/src$ go get -u -v github.com/lukehoban/go-outline
heyw@ubuntu:~/code/go/src$ go get -u -v sourcegraph.com/sqs/goreturns
heyw@ubuntu:~/code/go/src$ go get -u -v github.com/newhook/go-symbols
heyw@ubuntu:~/code/go/src$ go get -u -v golang.org/x/tools/cmd/gopls
heyw@ubuntu:~/code/go/src$ go get -u -v github.com/ramya-rao-a/go-outline
heyw@ubuntu:~/code/go/src$ go get -u -v github.com/go-delve/delve/cmd/dlv
heyw@ubuntu:~/code/go/src$ go get -u -v github.com/uudashr/gopkgs/cmd/gopkgs
heyw@ubuntu:~/code/go/src$ go get -u -v golang.org/x/tools/cmd/guru
heyw@ubuntu:~/code/go/src$ go get -u -v golang.org/x/tools/cmd/gorename
heyw@ubuntu:~/code/go/src$ go get -u -v github.com/stamblerre/gocode
heyw@ubuntu:~/code/go/src$ go get -u -v golang.org/x/lint/golint
更新之后最好重启vscode
heyw@ubuntu:~/code/go$ mkdir demo
heyw@ubuntu:~/code/go$ cd demo/
heyw@ubuntu:~/code/go/demo$ go mod init demo
go: creating new go.mod: module demo
heyw@ubuntu:~/code/go/demo$ ls
go.mod
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${file}",
"env": {
"go.gopath":"/home/heyw/code/go"
},
"args": []
}
]
}
heyw@ubuntu:~/code/go/demo$ go get -u -v github.com/micro/micro
安装完成会在bin文件夹下产生一个可执行文件micro,如果存在证明安装成功,如果失败请留意代理是否设置成功。
heyw@ubuntu:~/code/go/demo$ sudo apt-get install protobuf-compiler
heyw@ubuntu:~/code/go/demo$ go get -u -v github.com/micro/protoc-gen-micro
go: downloading github.com/micro/protoc-gen-micro v0.8.0
go: extracting github.com/micro/protoc-gen-micro v0.8.0
https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1
heyw@ubuntu:~/software/protoc-3.6.1-linux-x86_64/bin$ pwd
/home/heyw/software/protoc-3.6.1-linux-x86_64/bin
# config protoc
export PROTOCPATH=/home/heyw/software/protoc-3.6.1-linux-x86_64/bin
export PATH=$PATH:$PROTOCPATH
让所有的目录都能够访问该指令
heyw@ubuntu:~/code$ sudo apt-get remove docker docker-engine docker.io docker-ce
heyw@ubuntu:~/code$ sudo apt-get update
heyw@ubuntu:~/code$ wget -qO- https://get.docker.com/ | sh
heyw@ubuntu:~/code$ sudo docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
heyw@ubuntu:~$ sudo groupadd docker
heyw@ubuntu:~$ sudo gpasswd -a ${USER} docker
Adding user heyw to group docker
heyw@ubuntu:~$ sudo service docker restart
heyw@ubuntu:~$ newgrp --help
Usage: newgrp [-] [group]
heyw@ubuntu:~$ newgrp - docker
heyw@ubuntu:~$ docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
(注意:需要重启系统)
使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具
$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose -v
heyw@ubuntu:~/code/go/kaka-service$ micro new --type srv --gopath=false kaka-srv
Creating service go.micro.srv.kaka in kaka-srv