CentOS7 使用 VScode 运行 Go 程序报错

25 篇文章 1 订阅

前提条件

1、使用root账户配置GO环境及安装VS Code

2、GO环境变量配置为(cat /etc/profile)

export GO111MODULE=on
export GOROOT=/usr/local/go 
export GOPATH=/home/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

3、使用非root账户(tracy)登录CentOS7可视化界面,使用VS Code编辑并运行GO程序

问题与解决

之后就一直出现问题,一直解决问题,操作步骤如下:

1、使用tracy账户登录CentOS7可视化界面,打开VS Code编写GO程序,如下

package main

import (
	"fmt"
	"github.com/ethereum/go-ethereum/accounts/abi/bind"
	"github.com/ethereum/go-ethereum/common"
	"github.com/ethereum/go-ethereum/ethclient"
	"log"
)

func main()  {
	//连接geth节点
	cli, err := ethclient.Dial("http://192.168.237.142:8545")
	if err != nil {
		log.Panic("fail to Dial",err)
	}
	defer cli.Close()
	//创建合约实例
	instance, err := NewHello(common.HexToAddress("0xe583E729951686f4F7b9359B022AB04719009AAc"), cli)
	if err != nil {
		log.Panic("error: ", err)
	}
	//函数调用
	opts := bind.CallOpts{
		From: common.HexToAddress("0x778e68Fd9371dE638bD816DAeC7e7B0b2ecaC813"),
	}

	msg, err := instance.GetMsg(&opts)
	if err != nil {
		log.Panic("getMsg error: ", err)
	}

	fmt.Println("?GetMsg:",msg)
}

 2、配置代理(VS Code -> TERMINAL)

[tracy@localhost demo]$ go env -w GOPROXY=https://goproxy.cn 

3、下载依赖,执行go mod tidy报错(第1个)

[tracy@localhost demo]$ go mod init demo
go: creating new go.mod: module demo
[tracy@localhost demo]$ go mod tidy
go: could not create module cache: mkdir /home/gopath/pkg: permission denied

 解决:修改环境变量GOPATH在tracy目录下(vi /etc/profile)

export GO111MODULE=on
export GOROOT=/usr/local/go 
export GOPATH=/home/tracy/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
[root@localhost home]# source /etc/profile

重启VS Code,重新加载环境变量

4、编译报错(第2个)

[tracy@localhost GoContract]$ go build demo
package demo is not in GOROOT (/usr/local/go/src/demo)

 解决:设置GO111MODULE=auto,出现新的错误(第3个)

[tracy@localhost GoContract]$ go env -w GO111MODULE=auto
warning: go env -w GO111MODULE=... does not override conflicting OS environment variable

继续解决:

原因是在设置的时候,系统的环境变量GO111MODULE已经有值,而go env是不支持覆盖写入的。可以直接修改系统环境变量

编辑profile文件(vi /etc/profile),修改export GO111MODULE=auto

export GO111MODULE=auto
export GOROOT=/usr/local/go 
export GOPATH=/home/tracy/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
[root@localhost home]# source /etc/profile

重启VS Code,重新加载环境变量 

再次编译报错 (第4个)

[tracy@localhost demo]$ go build demo
# github.com/ethereum/go-ethereum/crypto/secp256k1
cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in $PATH
# github.com/ethereum/go-ethereum/rpc
cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in $PATH

 解决:安装gcc

[root@localhost home]# yum install -y gcc

再次编译,终于通过了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上安装VSCode,可以使用以下步骤: 1. 首先,导入Microsoft的GPG密钥并添加VSCode的存储库。可以使用以下命令完成: ``` rpm --import https://packages.microsoft.com/keys/microsoft.asc echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo ``` 2. 接下来,检查并更新系统的软件包列表: ``` yum check-update ``` 3. 最后,安装Visual Studio Code: ``` sudo yum install code ``` 这样,您就可以在CentOS 7上成功安装VSCode了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [linux+centos7 +vscode+C++11+muduo示例](https://download.csdn.net/download/huangdecai2/11975118)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [centos7下安装vscode](https://blog.csdn.net/lixiaomei0623/article/details/125655031)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值