linux中用shell快速安装配置Go语言的开发环境
程序员文章站
2022-04-10 12:17:59
介绍
go1.5+版本提供编译好的安装包,我们只需要解压到相应的目录,并添加一些环境变量的配置即可。
go语言的安装步骤
&nbs...
介绍
go1.5+版本提供编译好的安装包,我们只需要解压到相应的目录,并添加一些环境变量的配置即可。
go语言的安装步骤
下载安装包go1.7.linux-amd64.tar.gz
解压文件到指定目录: tar -zxf go1.7.linux-amd64.tar.gz
设置环境变量:goroot
, gopath
, path
既然我们可以列出这些步骤,那么便可以将整个过程自动化。
下面是安装脚本
#!/bin/bash #upgrade go version to 1.7 #wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz go1.7.tar.gz 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 " ./upgrade.sh tar_file gopath" info " tar_file specify where is the tar file of go binary file" info " gopath specify where is the go workspace, include src, bin, pkg folder" } function creategopath() { if [ ! -d $1 ]; then mkdir -p $1 fi if [ ! -d "$1/src" ]; then mkdir "$1/src" fi if [ ! -d "$1/bin" ]; then mkdir "$1/bin" fi if [ ! -d "$1/pkg" ]; then mkdir "$1/pkg" fi } if [ -z $1 ]; then usage exit 1 fi file=$1 if [ ! -f $file ]; then error "${file} not exist..." exit 1 fi unzippath="`pwd`/tmp_unzip_path/" info $unzippath if [ ! -d $unzippath ]; then info "not exist" mkdir $unzippath fi tar -zxf $file -c $unzippath goroot=$goroot if [ ! -n $goroot ]; then warn "use default go root /usr/local/go" goroot="/usr/local/go" fi gopath=$2 info "create go workspace, include src,bin,pkg folder..." if [ -z $2 ]; then user=`whoami` gopath="/home/$user/workspace/golang" warn "use $gopath as golang workspace..." if [ ! -d $gopath ]; then mkdir -p $gopath fi fi creategopath $gopath info "copy go unzip files to $goroot" sudo cp -r "$unzippath/go" $goroot rm -rf $unzippath #etcprofile="/home/user/desktop/etc" etcprofile="/etc/profile" exportgoroot="export goroot=$goroot" if [ ! -z $goroot ]; then cat $etcprofile | sed 's/^export.goroot.*//' | sudo tee $etcprofile > /dev/null fi echo $exportgoroot | sudo tee -a $etcprofile exportgopath="export goroot=$gopath" if [ ! -z $gopath ]; then cat $etcprofile | sed 's/^export.gopath.*//' | sudo tee $etcprofile > /dev/null fi echo "export gopath=$gopath" | sudo tee -a $etcprofile echo 'export path=$goroot/bin:$gopath/bin:$path' | sudo tee -a $etcprofile # ## replace multiple empty lines with one empty line cat $etcprofile -s | sudo tee $etcprofile > /dev/null info "to make configuration take effect, will reboot, pls enter[y/n]" read -p "[y/n]" isreboot if [ $isreboot = "y" ]; then sudo reboot fi
讲一讲脚本做的事情吧
1、脚本要求输入编译好的安装包,这里本来是可以做成直接下载的, 但是考虑到大多数人是无法连接到golang的官网的,因此放弃了这一步。
2、解压文件到指定的目录, 默认为/usr/local/go
, 也可以通过运行时指定
3、在gopath下面创建3个文件夹: src, bin, pkg, gopath可以运行时指定,默认为/home/{user}/workspace/golang
4、设置环境变量: $gopath
, $goroot
5、重启服务,使对/etc/profile
的修改生效
这里有一些主意的点是,有可能系统配置过golang的环境变量, 那么需要先删除这些配置,然后重新写入。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
上一篇: Go语言实现字符串切片赋值的方法小结
下一篇: PHP与Go语言之间的通信详解