最近在学习go语言 记录下在服务器上安装go语言环境
安装配置 : 宝塔Linux面板 7.6.0
1. 文件下载
go环境文件 可以去官网下载 自己选择环境文件
官网 https://golang.google.cn/)
文件地址 https://golang.google.cn/dl/
2 解压
文件上传到 /www/server 目录
tar -xzvf 刚上传的文件名
示例
tar -xzvf go1.18.2.linux-amd64.tar.gz
注意 如果报错 no such file or directory(文件找不到) 可以切换下登录账号
su root
3 添加环境变量
添加环境变量,使用vim 打开/etc/profile 文件。
vim /etc/profile
最底部添加
export GOROOT=/www/server/go
export GOBIN=$GOROOT/bin
export GOPKG=$GOROOT/pkg/tool/linux_amd64
export GOARCH=amd64
export GOOS=linux
export GOPATH=/www/wwwroot/Golang
export PATH=$PATH:$GOBIN:$GOPKG:$GOPATH/bin
图片示例
添加好之后,保存退出,然后执行如下命令使其生效:
source /etc/profile
4 检测环境
使用 go version 检测下go环境是否安装成功
go version
这里就安装成功了
5 代码运行测试
在上面的环境变量配置
export GOPATH=/www/wwwroot/Golang
所以我们的环境指向的是 Golang目录
新建 /www/wwwroot/Golang目录
mkdir /www/wwwroot/Golang
在 Golang 目录先新建 test.go文件
test.go文件内容
package main
import "fmt"
func main() {
fmt.Println("Hello, Word!")
}
shell运行
go run /www/wwwroot/Golang/test.go
成功输出了 Hello,Word!
脚本内容 使用
go run /www/wwwroot/Golang/test.go
提示 go: command not found
修改 /etc/sudoers 需要root账号登录
vim /etc/sudoers
加入
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
后面加入 /:/www/server/go/bin
示例
修改脚本内容 使用
sudo go run /www/wwwroot/Golang/test.go
正常运行
非常好用
解决go包管理代理网址无法访问:proxy.golang.org
[root@VM-12-8-centos ~]# go install github.com/chromedp/chromedp@latest
go: github.com/chromedp/chromedp@latest: module github.com/chromedp/chromedp: Get "https://proxy.golang.org/github.com/chromedp/chromedp/@v/list": dial tcp 172.217.31.177:443: i/o timeout
Go 1.16 以后 go get 即将废弃
更换为 go install
下载国外的数据编译报错
解决方法
换一个国内能访问的代理地址:https://goproxy.cn
go env -w GOPROXY=https://goproxy.cn
缺少go.mod文件
no required module provides package github.com/chromedp/chromedp: go.mod file not found in current directory or any parent directory; see 'go help modules'
解决方法
开启go modules功能,命令行输入
go env -w GO111MODULE=on
在该项目目录下,初始化Go moudle,运行下面命令
go mod init xxx //xxx代表文件夹名
成功的提示
centos 使用 chromedp 一定要改为无头模式
不然会报错
2022/05/19 15:47:44 chrome failed to start:
[17800:17800:0519/154744.589237:ERROR:ozone_platform_x11.cc(247)] Missing X server or $DISPLAY
[17800:17800:0519/154744.589294:ERROR:env.cc(225)] The platform failed to initialize. Exiting.
exit status 1