登录
首页 >  Golang >  Go问答

在 JetBrains Goland 中如何设置和使用 IPFS (kubo)?

来源:stackoverflow

时间:2024-03-05 10:09:27 389浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《在 JetBrains Goland 中如何设置和使用 IPFS (kubo)?》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

我是 golang 新手。首先说我 可以使用标准 Go 构建 kubo(go-ipfs),但在 Goland 中却没有。 使用标准 Go.exe 构建,我需要 cd 到包含 main 模块和 main func 的文件夹,然后运行:go install

在 Golnad 中重现的步骤:

  1. 已安装 Goland 2022.2.3
  2. 新项目 - 来自 SCV Git 的 >:https://github.com/ipfs/kubo
  3. 使用 C:\Users\Med\GolandProjects\ 中建议的 Goland 路径来存储 kubo 项目
  4. 在“设置”的 GOROOT 字段中,我指定了 Go 安装的位置。
  5. 在上下文菜单中选择项目 (kubo),我按下了 Run - 它要求进行配置。
  6. 在项目上按“运行”后,它会创建配置:

然后显示以下错误消息:

运行“go build github.com/ipfs/kubo”时出错:无法运行程序 “C:\Users\Med\AppData\Local\Temp\GoLand___go_build_github_com_ipfs_kubo.exe” (在目录“C:\Users\Med\Go\kubo”中):CreateProcess error=216,这 %1 的版本与您所使用的 Windows 版本不兼容 跑步。检查您计算机的系统信息,然后联系 软件出版商

网络搜索显示错误 216 的意思 操作系统、ARCH 不匹配

它会创建 Windows 10 无法运行的小 exe 文件。

我可以使用 kubo 构建并运行一些小型测试程序 - 但不能运行整个项目。

去环境: C:\Users\Med\AppData\Local\Temp\GoLand>go env

设置 GO111MODULE= 设置 GOARCH=amd64 设置戈宾= 设置 GOCACHE=C:\Users\Med\AppData\Local\go-build 设置 GENV=C:\Users\Med\AppData\Roaming\go\env 设置 GOEXE=.exe 设置GO实验= 设置 GOFLAGS= 设置 GOHOSTARCH=amd64 设置 GOHOSTOS=windows 设置 GOINSECURE= 设置 GOMODCACHE=C:\Users\Med\go\pkg\mod 设置 GONOPROXY= 设置 GONOSUMDB= 设置 GOOS=Windows 设置 GOPATH=C:\Users\Med\go 设置 GOPRIVATE= 设置 GOPROXY=https://proxy.golang.org,direct 设置 GOROOT=D:\programs\Go 设置 GOSUMDB=sum.golang.org 设置 GOTMPDIR= 设置 GOTOOLDIR=D:\programs\Go\pkg\tool\windows_amd64 设置 GOVCS= 设置政府=go1.19.1 设置 GCCGO=gccgo 设置 GOAMD64=v1 设置AR=ar 设置CC=gcc 设置CXX=g++ 设置 CGO_ENABLED=1 设置 GOMOD=NUL 设置 GOWORK= 设置 CGO_CFLAGS=-g -O2 设置 CGO_CPPFLAGS= 设置 CGO_CXXFLAGS=-g -O2 设置 CGO_FFLAGS=-g -O2 设置 CGO_LDFLAGS=-g -O2 设置 PKG_CONFIG=pkg-config 设置 GOGCCFLAGS=-m64 -mthreads -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=C:\Users\Med\AppData\Local\Temp\go-build1544731977=/tmp/go-build -gno-记录-gcc-开关


正确答案


我不明白为什么它有效,但它有效: 我在右侧窗格的项目树中选择了 kubo/cmd/ipfs 项,然后从上下文菜单中按“运行”。 goland 构建了(我认为)主包,创建了正确大小(60mb)的可执行文件,并像守护进程一样提供服务:我可以通过 webui 连接,并且能够观察我之前上传的文件。但这不是守护进程 - 在调试期间我发现它不将此类启动视为守护进程并作为批处理退出。 这是自动创建的配置:

编译器的输出:

GOROOT=C:\Users\Med\Go\go1.19.1 #gosetup
GOPATH=C:\Users\Med\Go #gosetup
C:\Users\Med\Go\go1.19.1\bin\go.exe build -o C:\Users\Med\AppData\Local\Temp\GoLand\___1go_build_github_com_ipfs_kubo_cmd_ipfs.exe -gcflags "all=-N -l" github.com/ipfs/kubo/cmd/ipfs #gosetup

但我仍然有兴趣了解 go/goland 构建的原理,并鼓励其他人基于这个 kubo 示例进行解释。

今天关于《在 JetBrains Goland 中如何设置和使用 IPFS (kubo)?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>