问题标签 [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.
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 中的目录相同,但错误仍然相同。
我很困惑,不明白这个问题。我是包装目录系统的新手。
这里有什么问题,我该怎么办?
谢谢您的帮助。
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
文件夹添加到其中任何一个文件夹中。
这甚至可能吗?
google-app-engine - 如何将 -ldflags 传递给 GAE 构建?
我有一个用 Go 编写的 HTTP 服务。在里面main.go
我有一个全局version
字符串。
在本地,我使用由 shell 环境确定的-ldflags "-X main.version=$VERSION
where进行构建,如下所示:$VERSION
我最近决定试用 Google App Engine 并从一个基本的 YAML 文件开始:
我可以在 YAML 文件中设置什么以指示 GAE 使用等效的 ldflags 构建以在我的版本字符串中烘焙?
我还应该提到我在构建时使用GO111MODULE=on
本地的 go 模块。
docker - 如何使用 go build 创建可以在 docker 容器中运行的动态可执行二进制文件?
我使用交叉编译在 Mac 上编译 linux 版本的二进制文件。
还尝试了我在堆栈溢出时发现的其他命令。
该二进制文件可以在 Linux VM 中运行。但是当我将此二进制文件复制到 linux docker 容器并运行它时。它不能再运行了。
我的docker文件是这样的
我还使用 ldd 检查目标,docker 报告此结果
go - 错误:构建 Go 项目时“构建标志 -mod=vendor 仅在使用模块时有效”
根据这个文档,我需要添加-mod=vendor
到我的构建命令以使用我的本地vendor
文件夹:
默认情况下,像 go build 这样的命令在模块模式下会忽略供应商目录。-mod=vendor 标志(例如,go build -mod=vendor)指示 go 命令使用主模块的顶级供应商目录来满足依赖关系。
当我运行这个命令时:
我收到此错误:
该命令在本地按预期工作,错误仅发生在构建服务器上。
go - /bin/sh: 1: go: 推送到heroku时找不到
我正在尝试使用 React Frontend 和 Go Backend 语言。
我必须在本地安装,我可以运行类似go run main.go
或的命令go build
。但是当我尝试推送到 Heroku 时,出现以下错误:
这是我的 package.json:
为什么在本地运行时它可以工作,但在将其推送到 Heroku 时却失败了?
我怎样才能解决这个问题?
谢谢
go - 如果二进制文件已经是最新版本,有什么方法可以跳过 go build
我写了一个简单的 bash 脚本去构建然后运行二进制文件
有什么方法可以找到我的二进制文件已经是最新版本(没有代码更改)?
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 ...
我可能有一些基本的错误,所以感谢您的耐心和您可以提供的任何帮助。
go - Go plugin - “插件是用不同版本的包构建的”
我有一个在启动时加载插件的应用程序(守护进程)。在一个子包(daemon/interfaces)中,我有一些该程序的插件应该使用的接口。
这意味着主程序也被插件导入。
我正在使用 Go 模块(用于主程序和插件)来修复版本,我可以看到go.mod
它正在为插件使用最新版本的主程序。
我可以很好地构建它们,但是当我加载插件时它给了我一个错误说
我正在使用 Go 1.12.7 来构建这两个包。