问题标签 [go-build]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
635 浏览

windows - Go - 不允许使用内部包 [...]

我试图从stellar bridge-server github repository克隆和构建项目。经过很多步骤后,我面临以下错误:

[错误] github.com\stellar\go\services\bridge\internal\handlers\main.go:8:2:不允许使用内部包 github.com/stellar/go/services/bridge/internal/db
[错误] github.com\stellar\go\services\bridge\internal\handlers\main.go:9:2: 不允许使用内部包 github.com/stellar/go/services/bridge/internal/listener
[错误] github .com\stellar\go\services\bridge\internal\handlers\main.go:10:2:不允许使用内部包 github.com/stellar/go/services/bridge/internal/submitter

(......更多相同格式的问题......)


我导入了依赖项和不同的包,但是当我尝试编译和安装它时,我得到了这个错误。我将一些文件夹移动到它们的上层文件夹,以便与 repo 中的目录相同,但错误仍然相同。

我很困惑,不明白这个问题。我是包装目录系统的新手。

这里有什么问题,我该怎么办?

谢谢您的帮助。

0 投票
1 回答
3707 浏览

go - 从本地子目录导入包

我是新手,所以我希望这不会被认为是愚蠢的!

我当前的文件夹结构与此类似 在此处输入图像描述

models文件夹中,我有person.go.

在 中main.go,我喜欢 import models,这样我就可以使用person结构体了。

当我尝试执行go build时,我得到以下异常:

main.go:4:8: 在 C:\Go\src\models(来自 $GOROOT)C:\Users\Ali\go\src\models(来自 $GOPATH)中找不到包“models”

我明白了,因为我当前的工作文件夹不是我的$GOROOT,也不是$GOPATH. 事实上,我真的不想将models文件夹添加到其中任何一个文件夹中。

这甚至可能吗?

0 投票
1 回答
120 浏览

google-app-engine - 如何将 -ldflags 传递给 GAE 构建?

我有一个用 Go 编写的 HTTP 服务。在里面main.go我有一个全局version字符串。

在本地,我使用由 shell 环境确定的-ldflags "-X main.version=$VERSIONwhere进行构建,如下所示:$VERSION

我最近决定试用 Google App Engine 并从一个基本的 YAML 文件开始:

我可以在 YAML 文件中设置什么以指示 GAE 使用等效的 ldflags 构建以在我的版本字符串中烘焙?

我还应该提到我在构建时使用GO111MODULE=on本地的 go 模块。

0 投票
0 回答
264 浏览

docker - 如何使用 go build 创建可以在 docker 容器中运行的动态可执行二进制文件?

我使用交叉编译在 Mac 上编译 linux 版本的二进制文件。

还尝试了我在堆栈溢出时发现的其他命令。

该二进制文件可以在 Linux VM 中运行。但是当我将此二进制文件复制到 linux docker 容器并运行它时。它不能再运行了。

我的docker文件是这样的

我还使用 ldd 检查目标,docker 报告此结果

0 投票
1 回答
4453 浏览

go - 错误:构建 Go 项目时“构建标志 -mod=vendor 仅在使用模块时有效”

根据这个文档,我需要添加-mod=vendor到我的构建命令以使用我的本地vendor文件夹:

默认情况下,像 go build 这样的命令在模块模式下会忽略供应商目录。-mod=vendor 标志(例如,go build -mod=vendor)指示 go 命令使用主模块的顶级供应商目录来满足依赖关系。

当我运行这个命令时:

我收到此错误:

该命令在本地按预期工作,错误仅发生在构建服务器上。

0 投票
1 回答
427 浏览

go - 从不同目录的多个文件创建插件

按照本教程和 github 存储,我了解了插件的使用。

本教程将每个文件分别编译成so文件。

如何将两个文件合并为一个 .so 文件?我尝试通过空格分隔文件来执行以下命令

错误:

命名文件必须全部在一个目录中;有 src/test/eng/ 和 src/test/chi/

这个想法是拥有来自不同包的单个 .so 文件。

编辑:我想后续问题将是如何将所有.so文件合并到一个存档中,如果一个库有多个包并且.so每个包只允许一个文件。

0 投票
0 回答
891 浏览

go - /bin/sh: 1: go: 推送到heroku时找不到

我正在尝试使用 React Frontend 和 Go Backend 语言。

我必须在本地安装,我可以运行类似go run main.go或的命令go build。但是当我尝试推送到 Heroku 时,出现以下错误:

这是我的 package.json:

为什么在本地运行时它可以工作,但在将其推送到 Heroku 时却失败了?

我怎样才能解决这个问题?

谢谢

0 投票
0 回答
83 浏览

go - 如果二进制文件已经是最新版本,有什么方法可以跳过 go build

我写了一个简单的 bash 脚本去构建然后运行二进制文件

有什么方法可以找到我的二进制文件已经是最新版本(没有代码更改)?

0 投票
1 回答
15202 浏览

go - 如何使用 Go 模块修复 Go 构建错误“无法加载包”?

我正在本教程中使用 Go 模块设置一个新项目,然后尝试构建它。

该模块位于 $GOPATH 之外的文件夹中,结构如下:

我已经go mod init example.com/my-project在目录中运行example.com/my-project并创建了上面显示的 go.mod 文件。

main.go有基本内容:

尝试go build在目录中运行后example.com/my-project,我收到以下错误消息:

can't load package: package example.com/my-project: unknown import path "example.com/my-project": cannot find module providing package example.com/my-project.

我也尝试go build在目录/之外运行example.com/my-project,我得到了类似的失败结果:

can't load package: package .: no Go files in ...

我可能有一些基本的错误,所以感谢您的耐心和您可以提供的任何帮助。

0 投票
2 回答
5444 浏览

go - Go plugin - “插件是用不同版本的包构建的”

我有一个在启动时加载插件的应用程序(守护进程)。在一个子包(daemon/interfaces)中,我有一些该程序的插件应该使用的接口。

这意味着主程序也被插件导入。

我正在使用 Go 模块(用于主程序和插件)来修复版本,我可以看到go.mod它正在为插件使用最新版本的主程序。

我可以很好地构建它们,但是当我加载插件时它给了我一个错误说

我正在使用 Go 1.12.7 来构建这两个包。