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

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

如果我在 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

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

最佳答案

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

删除一个或另一个,因为您的系统当前处于未定义状态。

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

关于go - 在 Gogland,我使用 go run 得到 'flag provided but not defined: -goversion',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46241177/

10-12 00:16