首页 > 解决方案 > 如何运行 GO 可执行文件?

问题描述

我试图不使用默认的 go 工作区,而是创建一个单独的工作区位置。所以我做了以下事情:

  1. 创建了一个文件夹,比如“/Users/user_name/some_path/go_files/”
  2. 在该文件夹中创建了 3 个目录-srcpkgbin
  3. 在“/Users/user_name/some_path/go_files/src”中创建了一个名为“hello_world.go”的go文件
  4. 将 GOPATH 变量导出到“/Users/user_name/some_path/go_files”
  5. 以两种方式构建可执行文件:go build src/hello_world.gocd src go build hello_word.go
  6. 上面生成了 2 个可执行文件 - 1 个在go_files/src,另一个在go_files
  7. 但是,运行其中任何一个都会出错:package hello_world is not in GOROOT (/usr/local/go/src/hello_world)

我尝试使用go run hello_world. 我该如何解决这个问题?如何运行可执行文件?

请注意,我可以go run hello_world.go从内部执行 asrc或 a go run src/hello_world.go,但我想知道如何运行可执行文件。

标签: go

解决方案


但是,运行它们中的任何一个都会出错:package hello_world is not in GOROOT (/usr/local/go/src/hello_world)

你实际上并没有说你在做什么来引发这个错误,但听起来你几乎肯定在运行go run hello_world. 一旦你构建了一个可执行文件,Go(语言)和go(命令)就不再涉及了。二进制文件独立于它们的编译器运行,如果您来自解释语言背景,这可能会让您感到惊讶。

您可以通过键入其名称(如果它在您的路径中)或键入它的路径(即./hello_world)然后按“返回”来运行任何给定的可执行文件。


推荐阅读