-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgo_install.sh
More file actions
executable file
·84 lines (71 loc) · 1.81 KB
/
Copy pathgo_install.sh
File metadata and controls
executable file
·84 lines (71 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/bash
# dystargate
function info() {
echo -e "\033[1;34m$1 \033[0m"
}
function warn() {
echo -e "\033[0;33m$1 \033[0m"
}
function error() {
echo -e "\033[0;31m$1 \033[0m"
}
function usage() {
info "Upgrade or install golang..."
info "USAGE:"
info "./go_install.sh GOVERSION"
info "GOVERSION specify whcih is the golang version."
info "----------------------------------------------"
}
# 安装go包管理工具
function InstallGvm(){
cd ~
GVMPATH=$HOME"/.gvm"
if [ ! -d "$GVMPATH" ];
then
info "Install the gvm...."
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
sed -i 's!https://go.googlesource.com/go!https://github.com/golang/go!g' $GVMPATH/scripts/install
sed -i 's!https://go.googlesource.com/go!https://github.com/golang/go!g' $GVMPATH/scripts/listall
echo "export GVM_ROOT=$HOME/.gvm"
else
info "YOU ALREADY INSTALL GVM"
fi
info "INSTALL GVM completed"
}
GOVERSION=$1
# 安装go版本
function InstallGoVersion(){
gvm install $GOVERSION
info "Install $GOVERSION as go version."
# 创建GOPATH
gopath=$HOME"/go"
if [ ! -d $gopath ];
then
info "Create go workspace, include src,bin,pkg folder..."
warn "Use $GOPATH as golang workspace..."
mkdir $HOME"/go"
else
info "You already create GOPATH"
fi
# 声明变量
if [ ! -z $GOPATH ];
then
echo "export GOPATH=$gopath"
echo "export PATH=$PATH:$GOPATH/bin"
else
info "You already export GOPATH"
fi
info "Install completed."
}
# 升级go版本
function UpgradeGoVersion(){
# TODO
echo "gvm use $GOVERSION"
echo `go version`
info "Upgrade completed."
}
usage
sleep 1s
InstallGvm
InstallGoVersion
UpgradeGoVersion