golang环境 centos 7

Posted 小朱配齐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang环境 centos 7相关的知识,希望对你有一定的参考价值。

https://blog.csdn.net/ggq89/article/details/82682171  Linux下Go的安装、配置 、升级和卸载

 

https://blog.csdn.net/weixin_37696997/article/details/78525639    centos安装golang、protobuf

 

https://www.cnblogs.com/mrblue/p/8891789.html   CentOS7安装Go环境

 

https://www.cnblogs.com/pyyu/p/8032257.html   Go语言之讲解GOROOT、GOPATH、GOBIN

  GOROOT为你的Go安装跟目录

  GOPATH为你go程序开发目录,go get后的包也会下载到该目录。

  GOBIN为你的go运行目录,运行 go install 命令后,程序会被安装到该目录。

  PATH为你Go程序根目录,用于能够通过控制台调用go命令。

 

https://hk.saowen.com/a/0974f14ebeaacefc2d4ea7193121f6faf8304388acc206e1781d42781d3883af    golang 使用 protobuf 的教程

 

https://blog.csdn.net/panshiqu/article/details/53788067        Golang 在 Mac、Linux、Windows 下如何交叉编译

 1 Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。
 2 
 3 Mac 下编译 Linux 和 Windows 64位可执行程序
 4 
 5 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
 6 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go12
 7 
 8 Linux 下编译 Mac 和 Windows 64位可执行程序
 9 
10 
11 
12 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
13 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go12
14 
15 Windows 下编译 Mac 和 Linux 64位可执行程序
16 
17 
18 
19 SET CGO_ENABLED=0
20 SET GOOS=darwin
21 SET GOARCH=amd64
22 go build main.go
23 
24 SET CGO_ENABLED=0
25 SET GOOS=linux
26 SET GOARCH=amd64
27 go build main.go123456789
28 
29 GOOS:目标平台的操作系统(darwin、freebsd、linux、windows) 
30 GOARCH:目标平台的体系架构(386、amd64、arm) 
31 交叉编译不支持 CGO 所以要禁用它
32 
33 上面的命令编译 64 位可执行程序,你当然应该也会使用 386 编译 32 位可执行程序 
34 很多博客都提到要先增加对其它平台的支持,但是我跳过那一步,上面所列的命令也都能成功,且得到我想要的结果,可见那一步应该是非必须的,或是我所使用的 Go 版本已默认支持所有平台。
35 
36 ---------------------
37 
38 本文来自 磐石区 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/panshiqu/article/details/53788067?utm_source=copy 

 

 1 说明: 
 2 protobuf已经全面迁移到github,地址:https://github.com/google/protobuf 
 3 直接下载2.6.1版本:https://github.com/google/protobuf/archive/v2.6.1.zip
 4 
 5 转linux不久对linux的各种路径变量不是特别熟悉,网上看了几个教程都没有提到添加 LIBRARY_PATH路径,导致自定义安装路径的时候链接失败,自己写一篇安装教程,也算作加深印象吧,希望对大家有所帮助。
 6 
 7 
 8 
 9 默认安装:
10 
11 
12 
13 $wget https://github.com/google/protobuf/archive/v2.6.1.zip
14 $unzip protobuf-2.6.1.zip
15 $cd protobuf-2.6.1123
16 
17 下载自github的代码需要首先执行 $ ./autogen.sh 生成configure文件 
18 注意autogen.sh 需要gtest包,默认是从 googletest.googlecode.com下载,国内需要翻墙才能访问,很多人问autogen.sh运行失败,这里我补充一下 
19 修改一下autogen.sh  
20 将这段:
21 
22 
23 
24  echo "Google Test not present.  Fetching gtest-1.5.0 from the web..."
25  curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx
26  mv gtest-1.5.0 gtest123
27 
28 修改为:
29 
30 
31 
32 wget https://github.com/google/googletest/archive/release-1.5.0.tar.gz
33 tar xzvf release-1.5.0.tar.gz
34 mv googletest-release-1.5.0 gtest123
35 
36 再执行 autogen.sh,这样就不会报错了
37 
38 
39 
40 $ ./configure
41 $ make
42 $ make check
43 $ make install
44 
45 我使用的是centos系统
46 /usr/local/bin
47 /usr/local/lib,
48 /usr/local/include 
49 是也系统默认路径之一,所以到这一步就可以使用protobuf了
50 $ protoc -I=./ --cpp_out=./ test.proto
51 到你的test.proto文件所在目录使用命令protoc -I=./ --cpp_out=./ 生成C++版本的协议文件
52 一切OK的话,你回在当前目录看到.h和.cc文件12345678910111213
53 
54 
55 
56 自定义安装路径:
60 protobuf默认安装在 /usr/local 目录
61 你可以修改安装目录通过 ./configure --prefix=命令
62 虽然我是root用户但觉得默认安装过于分散,所以统一安装在/usr/local/protobuf下
63 
64 $./configure --prefix=/usr/local/protobuf
65 $ make
66 $ make check
67 $ make install
68 
69 到此步还没有安装完毕,在/etc/profile 或者用户目录 ~/.bash_profile
70 添加下面内容
71 ####### add protobuf lib path ########
72 #(动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
73 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
74 #(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
75 export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
76 #执行程序搜索路径
77 export PATH=$PATH:/usr/local/protobuf/bin/
78 #c程序头文件搜索路径
79 export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
80 #c++程序头文件搜索路径
81 export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
82 #pkg-config 路径
83 export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
84 ######################################
85 
86 好了,goog luck123456789101112131415161718192021222324252627
87 
88 编译如果出现找不到符号和链接错误请记得加上链接选项  -lprotobuf 
89 并确认你的静态库路径是否生效
90 
91 $ echo $LIBRARY_PATH
92 
93 ---------------------
94 
95 本文来自 jackytse_ 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xiexievv/article/details/47396725?utm_source=copy 

https://hk.saowen.com/a/0974f14ebeaacefc2d4ea7193121f6faf8304388acc206e1781d42781d3883af      golang 使用 protobuf 的教程

 

以上是关于golang环境 centos 7的主要内容,如果未能解决你的问题,请参考以下文章

centos 7 安装golang1.14.4

centos 7.8下安装go1.18.3版本

CentOS环境利用mariadb(mysql)数据库使用golang实现分布式系统的Leader选举

centos 7.9下安装go1.16.4

centos 7.9下安装go1.16.4

CentOS 67 安装 Golang