• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    linux中用shell快速安装配置Go语言的开发环境

    介绍

    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的环境变量, 那么需要先删除这些配置,然后重新写入。

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

    您可能感兴趣的文章:
    • Ubuntu下安装Go语言开发环境及编辑器的相关配置
    • 在Mac OS上安装Go语言编译器的方法
    • 在Linux系统中安装Go语言的详细教程
    • Ubuntu安装Go语言运行环境
    • Windows下使用go语言写程序安装配置实例
    • Go语言运行环境安装详细教程
    • GO语言运行环境下载、安装、配置图文教程
    上一篇:PHP与Go语言之间的通信详解
    下一篇:Centos下搭建golang环境及vim高亮Go关键字设置的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    linux中用shell快速安装配置Go语言的开发环境 linux,中用,shell,快速,安装,