我最近用CentOS 6.3安装了Go.安装似乎进行得很顺利.然而,我做了一个测试"hello world"脚本,当我运行时,我得到以下输出.

fork/exec /tmp/go-build967564990/command-line-arguments/_obj/a.out: permission denied

现在,运行go env或其他go命令似乎起作用了.起初我认为这是权限问题,但是以root用户身份运行得到的结果是一样的.一个

推荐答案

只是猜测:您的nix可能出于安全原因禁用了在/tmp中执行程序.它可能可以在CentOS中配置,但我不知道.

另一种解决方案是:似乎您正在try go run来执行GO程序(这是脚本,就像C是脚本一样).try (假设是$GOPATH=~,这是一种简单的可能性)而不是普通的构建,也就是说,而不是

me:~/src/foo$ go run main.go

试试看

me:~/src/foo$ go build # main.go should not be necessary here
me:~/src/foo$ ./foo

这种方法仍将使用/tmp whatever来创建二进制文件IIRC,但不会try 从那里执行它.

PS:Do not以root用户身份运行这些命令.不需要正确的设置.

Go相关问答推荐

在Go中根据命名空间/字符串生成UUID

使用GO从RDPMC获得价值

无法获取RPC描述符

JWT 如何解析声明有效性和错误?

在运行时更改 Go lang slog 的日志(log)级别

无效操作:v > max(类型参数 T 与 > 不可比较)

用接口来模拟amqp091go的困难

这是泛型的有效用例吗?

正确的 shell 程序进入 golang alpine docker 容器的入口点?

使用 Go Colly 抓取所有可能的标签并将它们放入一个变量中

GitHub 中 REST API 的 aws 凭证问题

如何以干净的方式在中间件中注入 repo 或服务?

如何将具有嵌入式 struct 的 struct 展平为 json

为什么此代码在运行命令 error="exec: not started" 时出现错误?

Gorm 在保存/创建时序列化 struct

go 是否对 struct 使用空间填充之类的东西?

Go GCP 同时模拟两个服务帐户

有没有办法在一个 goroutine 返回后延迟后取消上下文?

Golang API 的 HTTPS

在 Go 中表达函数的更好方法( struct 方法)