go - 如何运行 GO 可执行文件?
问题描述
我试图不使用默认的 go 工作区,而是创建一个单独的工作区位置。所以我做了以下事情:
- 创建了一个文件夹,比如“/Users/user_name/some_path/go_files/”
- 在该文件夹中创建了 3 个目录-
src
和pkg
bin
- 在“/Users/user_name/some_path/go_files/src”中创建了一个名为“hello_world.go”的go文件
- 将 GOPATH 变量导出到“/Users/user_name/some_path/go_files”
- 以两种方式构建可执行文件:
go build src/hello_world.go
和cd src
go build hello_word.go
- 上面生成了 2 个可执行文件 - 1 个在
go_files/src
,另一个在go_files
- 但是,运行其中任何一个都会出错:
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
,但我想知道如何运行可执行文件。
解决方案
但是,运行它们中的任何一个都会出错:package hello_world is not in GOROOT (/usr/local/go/src/hello_world)
你实际上并没有说你在做什么来引发这个错误,但听起来你几乎肯定在运行go run hello_world
. 一旦你构建了一个可执行文件,Go(语言)和go
(命令)就不再涉及了。二进制文件独立于它们的编译器运行,如果您来自解释语言背景,这可能会让您感到惊讶。
您可以通过键入其名称(如果它在您的路径中)或键入它的路径(即./hello_world
)然后按“返回”来运行任何给定的可执行文件。
推荐阅读
- javascript - 自动审核系统白名单 discord.js
- excel - Excel 在我运行的大约 5% 中导出空白图像
- vb.net - 变量 aus 输出数据列表
- android - 如何将 MainActivity 代码转换为 DrawerActivity 中的代码(片段)
- javascript - 从图像 url 获取 ImageData/HTMLImageElement/HTMLCanvasElement 对象
- linux - 在 Linux 中得到结果后如何省略结果?
- python - python3.9.6 numpy.matrix() 出错
- java - 从 Firebase RealtimeDatabase 检索所有用户
- javascript - 输入值时如何更改搜索文本的颜色
- c# - Automapper 在发布请求期间抛出错误,错误映射类型,C# WEB API