问题标签 [go-packages]

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 投票
2 回答
52 浏览

go - 无法在另一个包 main func main 中导入包 main 的 func A()。主要有2个包

在包级别main,我有 2 个文件hello.gomain.go.

这两个文件都是水平的,package main但与其他包不同,我无法导入funchello. func main可以只有1个文件package main吗?

错误

0 投票
1 回答
169 浏览

go - 需要帮助理解 Golangs 包和模块系统的困惑

老实说,Golang 的包和模块系统是我处理过的最令人恼火和不必要的复杂的事情。我不知道是否只是我不理解,缺乏关于这个主题的信息,或者只是一般的 golang。

我创建了一个 Go 项目,我还不想发布或上传到 GitHub。它不在我设置的 GOPATH 内,因为根据我对引入模块的理解,您可以在 GOPATH 之外对项目进行编码。项目布局是这样的

test.go希望我能做类似的事情,import "project/pkg1"但我不明白如何让它工作。即使我test.go在项目内部移动并输入,import "/pkg1"我也会收到Cannot import absolute path错误。

我真的不想一直在里面编写我所有的 go 项目%GOPATH%/src,这样做似乎很荒谬。

同样,这可能只是我不理解。我来自 pythonic 背景,我可以创建一个setup.py文件,在运行后将我的项目安装到 python 的路径以供将来使用。任何有关此的帮助,无论是指向教程或网站的链接,都将不胜感激,谢谢。

0 投票
1 回答
282 浏览

go - 在 mac 中使用 gorilla/mux 包的问题

我正在尝试学习如何使用 go 和 mux 构建网络服务器。我将 mux 作为 .go 文件导入到 main.go 文件中import github.com/gorilla/mux。但是,当我尝试运行代码时。我收到以下错误

我的 GOPATH 是/Users/michiokaku/Study/go

我的目录的整体结构是

在 pkg 中,我在 path 中找到了一个名为 mux@v1.8.0 的目录pkg/mod/github.com/gorilla。我认为这是我使用go get -u github.com/gorilla/mux. 但是当代码运行时,我遇到了错误。

这里有什么问题?我该如何解决这个问题?

PS:我用的是mac。

0 投票
0 回答
98 浏览

go - 获取包中的结构以进行 go-gorm 迁移

有一种方法可以获取包中的所有结构(在这种情况下为实体)以生成自动迁移列表?

我拆分实体和迁移包,现在我们有一个专用于 gorm 使用的所有实体的包,这就是我目前管理迁移的方式,完全手动添加每个新实体,我们必须修改迁移主代码,将新实体添加到migrationsList

我想找到一种自动方法来读取包实体循环中存在的所有结构并将它们附加到migrationsList

0 投票
2 回答
293 浏览

go - 如何删除我不小心发布到 go.dev 的包?

我不小心在 go.dev 网站上发布了一个包,谁能告诉我如何删除它?

https://pkg.go.dev/github.com/Nksama/Random-quotes

0 投票
1 回答
184 浏览

go - 发布一个 golang 模块:语义版本控制

我一直在尝试为我的 Web 应用程序创建和发布一个 golang SDK:https ://datelist.io 在我的本地设置上一切正常。但是,一旦我想将我的 SDK 发布到https://pkg.go.dev/网站,事情就会变得更加困难

我想发布的代码可以在这里找到:github.com/datelist/datelist-sdk-golang

我已经阅读了一些教程,如果我理解正确,我所需要的只是:

  • 创建我的公共存储库
  • 在我的存储库的根目录添加一个 go.mod 文件
  • 请求 proxy.golang.org 网站索引我的更改

我尝试了不同的方法来索引我的更改,并且根据该链接: https ://go.dev/about/ 一旦解决方案是访问该页面: https ://proxy.golang.org/MYMODULE_PATH

我因此尝试过: https ://proxy.golang.org/github.com/datelist/datelist-sdk-golang/@v/v1.0.0.info

但是,我有以下错误: not found: github.com/datelist/datelist-sdk-golang@v1.0.0: invalid version: unknown revision v1.0.0

我尝试过不同的东西。我在我的 github 存储库上发布了两个标签:v1.0.0 和 1.0.0,但它不起作用。我已经检查过:我的代码看起来有效,并且版本似乎存在,我可以访问:https://proxy.golang.org/github.com/datelist/datelist-sdk-golang/@v/ce18fa0756c2。信息 但是,在将我的 SDK 添加到 go.dev 时,我遇到了困难

提前致谢

0 投票
1 回答
145 浏览

go - 是什么导致在 pkg-config 搜索路径中找不到包采样率?

当我尝试为我的项目安装 gosamplerate 时,我偶然发现了一个问题。我在存储库https://github.com/dh1tw/gosamplerate上遵循安装手册,但在成功安装 libsamplerate0 后,我在尝试执行 go get github.com/dh1tw/gosamplerate 时收到错误响应:

谁能帮我解决这个问题?

0 投票
1 回答
44 浏览

python - 从基于前一阶段的 go 图像复制 go 包?

在基于图像的 Python 中,我想使用 go package gnostic 运行一个命令 (*):

RUN gnostic --grpc-out=test test/openapi/loyalty-bff.yaml

我确实写了以下dockerfile:

运行命令 (*) 时出现错误:

Command 'gnostic --grpc-out=loyalty-bff-1634180849463365375 loyalty-bff-1634180849463365375/loyalty-bff.yaml' returned non-zero exit status 127.

另一方面,我可以在不使用多阶段时运行。替换为在基于镜像的 go 中安装 python,但是构建时间很长:

0 投票
1 回答
107 浏览

go - 在 golang 中查找每个依赖项的校验和

我希望能够获得 go 程序使用的每个包的校验和,包括模块中使用的包。

runtime/debug在标准库中 has ReadBuildInfo(),这很棒,但它只为模块提供数据,而不是为包提供数据。

例子:

输出就像

没有关于 A 的信息。我相信这是因为pkgB两者pkgA都属于同一个模块。

问题:有什么方法可以访问校验和pkgA吗?

0 投票
0 回答
47 浏览

go-packages - 更新 Go 包参考 - google.golang.org/protobuf

我在尝试更新 go 包时遇到问题,如下所示

github.com/golang/protobuf => google.golang.org/protobuf

我收到错误消息 -构建约束排除 /Users/XYZ/go/pkg/mod/google.golang.org/protobuf 中的所有 Go 文件

我在全球范围内安装了该软件包,并按照此处的建议尝试了通过供应商方法的依赖方式。此外,尝试将 CGO_ENABLED 设为 1。但是,似乎没有一个有效。ldflags 是 -ldflags="-s -w -X 。我已经为此投入了相当长的时间,现在已经用尽了尝试的方法。

注意:我是 Go lang 的新手