Centos7安装Go环境

本文档记录了在CentOS7系统上安装Go1.16.4的详细步骤,包括下载安装包、解压、设置环境变量,并验证安装成功的过程。通过设置GOPATH,使得Go环境开箱即用,最后还展示了编写并运行Hello World程序以检验Go环境的正确配置。

Centos7安装Go环境

最近在学习区块链的课程,学习ethereum的时候需要用到go环境,我是在centos系统上安装的go环境,在网上查了一下后安装完成了,所以这次记录一下,以防自己忘记。

1.下载安装包

 wget -c https://studygolang.com/dl/golang/go1.16.4.linux-amd64.tar.gz

2.解压

将源码包解压后直接放到 /usr/local 目录下,不用再次 make && make install 来安装了, 开箱即用

sudo tar -C /usr/local/ -zxvf go1.16.4.linux-amd64.tar.gz 

3.添加系统环境变量

需要添加GO的环境变量到系统$PATH中.
GOPATH这个环境变量它指定了一个目录, 这个目录即工作目录,它包含了我们所有的go源码 。
我们写的代码可以放到这个目录下面。
步骤如下:

  1. 创建工作目录
mkdir /home/user/goproject
  1. 打开配置环境变量的文件
sudo vim /etc/profile
  1. 在打开的文件里的最后面加入
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/goproject

然后保存退出即可
命令
esc
:wq

  1. 使该文件生效
source /etc/profile
  1. 验证GO环境变量是否添加成功
go version

如果输出go version go1.16.4 linux/amd64即成功。

到此,基本的Go环境就安装成功了,我们可以写一个helloworld程序运行一下,看看能否成功运行。

在 /home/user/goproject 目录下新建一个小程序 helloworld.go

vim helloworld.go

在文件里输入以下程序:

package main

import "fmt"

func main() {
    fmt.Println( "Hello world!" )
}

执行程序

 go run helloworld.go

如果出现以下输出说明我们Go安装成功
在这里插入图片描述

<think>我们正在使用Docker在CentOS 7上部署Go语言开发环境。根据引用,有两种常见的做法: 1. 直接构建一个包含Go环境CentOS镜像(如引用[2]和[4]所示),在镜像中安装Go环境,然后设置工作目录和编译运行Go程序。 2. 使用多阶段构建(但引用中没有给出多阶段构建的例子,我们可以参考第一种方法,因为用户要求的是部署开发环境,可能需要在容器内进行开发)。 用户要求的是部署Go语言开发环境,这意味着我们可能需要在容器内进行代码编辑、编译和运行。因此,我们选择构建一个包含Go环境的Docker镜像。 步骤: 1. 编写Dockerfile,基于CentOS 7.9.2009(或其他版本)安装Go环境。 2. 在Dockerfile中设置工作目录,安装必要的工具(如git、vim、gcc等,因为开发环境可能需要)。 3. 安装指定版本的Go,并配置环境变量。 4. 设置Go的模块代理(如GOPROXY)以加速模块下载。 5. 构建镜像并运行容器。 参考引用[2]的Dockerfile,我们可以进行修改。注意,引用[2]中使用了多个RUN命令合并以减少镜像层数,但这里我们为了清晰可以适当拆分,但要注意yum安装的清理以减少镜像大小。 但是注意:引用[2]的Dockerfile中使用了两个FROM,这是错误的,因为Dockerfile中只能有一个基础镜像(除非是多阶段构建,但这里第一个FROM会被忽略)。所以我们需要修正。 我们选择使用CentOS 7.9.2009作为基础镜像。 另外,引用[1]中提到了交叉编译,但这里我们不需要交叉编译,因为我们要在容器内开发,直接编译运行即可。 编写Dockerfile: 注意:在安装Go时,我们下载Go的压缩包,解压到/usr/local目录,并设置环境变量。 由于用户要求的是开发环境,我们可能还需要安装一些开发工具(如git, vim, gcc等)。 考虑到镜像大小,我们可以删除下载的压缩包。 以下是Dockerfile的示例:</think>### 在 CentOS 7 上使用 Docker 部署 Go 语言开发环境 以下是完整的部署步骤(基于引用[2][4]的实践优化): #### 1. **创建 Dockerfile** ```Dockerfile # 使用 CentOS 7 基础镜像 FROM centos:7.9.2009 # 设置环境变量和工作目录 ENV MYPATH /go/src/app WORKDIR $MYPATH # 安装基础工具和 Go 环境 RUN yum -y update && \ yum -y install vim git wget gcc-c++ && \ wget -P /tmp https://dl.google.com/go/go1.20.4.linux-amd64.tar.gz && \ tar -C /usr/local -xzf /tmp/go1.20.4.linux-amd64.tar.gz && \ rm -f /tmp/go1.20.4.linux-amd64.tar.gz # 配置环境变量 ENV PATH $PATH:/usr/local/go/bin ENV GOPATH /go ENV GO111MODULE=on ENV GOPROXY=https://goproxy.cn,direct # 验证安装 RUN go version ``` #### 2. **构建 Docker 镜像** ```bash # 在 Dockerfile 所在目录执行 docker build -t golang-dev:centos7 . ``` - 输出 `Successfully tagged golang-dev:centos7` 表示构建成功 - 镜像包含:Go 1.20.4 + Git + GCC + Vim(约 500MB) #### 3. **运行开发容器** ```bash docker run -itd \ --name go-dev \ -v $PWD:/go/src/app \ # 挂载本地代码目录 -p 8080:8080 \ # 暴露调试端口 golang-dev:centos7 ``` #### 4. **进入容器验证环境** ```bash docker exec -it go-dev bash # 验证环境 go env | grep -E "GOPATH|GOPROXY" # 应输出:GOPATH="/go" 和 GOPROXY="https://goproxy.cn,direct" # 创建测试程序 echo 'package main; import "fmt"; func main() { fmt.Println("Hello Docker Go!") }' > main.go # 编译运行 go run main.go # 输出:Hello Docker Go! ``` ### 关键配置说明 1. **环境变量** - `GOPROXY=https://goproxy.cn,direct`:加速国内模块下载[^2] - `GO111MODULE=on`:强制启用 Go Modules - `PATH` 包含 `/usr/local/go/bin`:确保全局访问 go 命令 2. **目录结构** ```bash /go # GOPATH 根目录 /src/app # 挂载点(对应本地项目) ``` 3. **开发建议** - 使用 `-v $(pwd):/go/src/app` 实现代码实时同步 - 调试时通过 `-p` 参数暴露应用端口(如 8080) - 安装 VSCode Remote-Containers 插件可直接在容器内开发 > 此方案比传统虚拟机部署节省 70% 资源占用,同时保证环境一致性[^4]
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值