我是戈朗的新手。首先要說的是,我 可以使用標準 Go構建 kubo(go-ipfs) ,但在 Goland 中不行。使用標準的 Go.exe 構建,我需要 cd 到包含模塊和主要功能的文件夾main,然后才運行:go install在 Golnad 中重現的步驟:安裝Goland 2022.2.3新建項目 -> 來自 SCV Git:https://github.com/ipfs/kubo在 C:\Users\Med\GolandProjects\ 中使用建議的 Goland 路徑來存儲 kubo 項目在設置的 GOROOT 字段中,我指定了我的 Go 安裝位置。在我按下的上下文菜單中選擇項目 (kubo) Run- 它要求配置。在我按項目運行后,它會創建配置:然后顯示以下錯誤消息:運行“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 版本不兼容。檢查您計算機的系統信息,然后聯系軟件發行商在 Web 中搜索說錯誤 216 表示 操作系統 ARCH 不匹配。它會創建 Windows 10 無法運行的小 exe 文件。我可以使用 kubo 構建和運行一些小型測試程序 - 但不是整個項目。轉到應用程序:C:\Users\Med\AppData\Local\Temp\GoLand>轉到大約設置 GO111MODULE=設置 GOARCH=amd64設置 GOBIN=設置 GOCACHE=C:\Users\Med\AppData\Local\go-build設置 GOENV=C:\Users\Med\AppData\Roaming\go\env設置 GOEXE=.exe設置GOEXPERIMENT=設置 GOFLAGS=設置 GOHOSTARCH=amd64設置 GOHOSTOS=windows設置 GOINSECURE=設置 GOMODCACHE=C:\Users\Med\go\pkg\mod設置 GONOPROXY=設置 GONOSUMDB=設置 GOOS=windows設置 GOPATH=C:\Users\Med \goset GOPRIVATE=set GOPROXY=https://proxy.golang.org,直接set GOROOT=D:\programs\Goset GOSUMDB=sum.golang.orgset GOTMPDIR=set GOTOOLDIR=D:\programs\Go\pkg \tool\windows_amd64設置 GOVCS=設置 GOVERSION=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-record-gcc-switches
1 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
我不明白它為什么起作用但它起作用了: 我在右側窗格的項目樹中選擇了 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 示例給出解釋。
- 1 回答
- 0 關注
- 630 瀏覽
添加回答
舉報
0/150
提交
取消