在Gogland,我得到'标志提供但未定义:-goversion'使用go run

Mar*_*amn 4 go goland

我正在尝试运行release.go在Goglang内置终端中调用的go脚本,它给了我以下输出

$ go run release.go
# command-line-arguments
flag provided but not defined: -goversion
usage: compile [options] file.go...
  -%    debug non-static initializers
...
Run Code Online (Sandbox Code Playgroud)

如果我在Gogland以外的终端中运行它,release.go文件运行没有问题.

从版本1.8.3升级到1.9后,此问题开始发生,我之前从未使用过该-goversion标志.

当前Gogland版本:

Gogland (1.0 Preview) 1.0 EAP
Build #GO-172.3968.45, built on September 5, 2017
Gogland EAP User
Expiration date: December 4, 2017
JRE: 1.8.0_152-release-915-b11 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.6
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题,以便我可以从Gogland的内置终端运行?

dls*_*per 6

您已经从一个发行版安装了一个Go版本,而从另一个发行版安装了另一个Go版本(例如,一个来自Homebrew,另一个来自分发二进制文件).

当系统当前处于未定义状态时,请删除其中一个.

Gogland与此无关,因为它在您使用终端时不会注入任何参数.您可以通过单击旁边的绿色箭头从Gogland本身运行该文件,func main()它将使用内部逻辑根据所选SDK和提供的其他参数确定执行模型.您可以通过Run |来自定义构建过程 编辑配置.

  • 谢谢,我能够通过运行`brew uninstall --force go`然后下载最新的安装程序来解决这个问题.任何读过这个并且想要使用brew的人都可以在强制卸载后执行`brew install go`.这样做后我不得不重新启动终端和Gogland. (3认同)