dtmooir3395 2017-09-04 08:09 采纳率: 0%
浏览 525
已采纳

golang build -i -a失败(拒绝权限)

I am a go newbie.

I have installed golang 1.9 from the official binary distribution on my ubuntu. I have also installed the Gogland IDE.

When I try to debug the simplest go program ("hello world") using Gogland, I get the following error:

GOROOT=/usr/local/go
GOPATH=/home/user/go
/usr/local/go/bin/go build -i -o /tmp/defaultgo -gcflags "-N -l" -a /home/user/go/src/hello/hello.go
go install runtime/internal/sys: open /usr/local/go/pkg/linux_amd64/runtime/internal/sys.a: permission denied

When trying to build from the command line (not using Gogland), I noticed that I get the same error whenever I am using the -i -a switches.

  • 写回答

2条回答 默认 最新

  • dousuo2812 2017-09-04 11:14
    关注

    Edit: EAP 13 was just released and it fixes this specific problem. Please see: https://blog.jetbrains.com/go/2017/09/04/gogland-eap-13-better-completion-new-inspections-fixed-performance-bugs-and-more/

    Original:

    This happens because of upgraded support from Delve for Go 1.9 projects.

    The latest version of Delve will use -a in order to recompile all transitive dependencies and ensure none of them are included with their optimized versions instead of the debugging friendly ones so that it can remove a lot of potential bugs.

    You can remove the -i flag so that the dependencies are not installed, which shouldn't cause the error anymore.

    This will be improved hopefully in Go 1.10 as there are changes depending on the Go team.

    Hope this explains the issue, if not, please see the discussion here: https://youtrack.jetbrains.com/issue/GO-4382

    Edit: this will be addressed in the EAP 13, which is bound to be released very soon, see the tracking issue here: https://youtrack.jetbrains.com/issue/GO-4430 as it contains additional details regarding this problem

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?