登录
首页 >  Golang >  Go问答

走吧,道路崎岖不平。感谢帮助

来源:stackoverflow

时间:2024-04-01 20:42:35 157浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《走吧,道路崎岖不平。感谢帮助》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

好吧,我想我终于在没有更多想法或帮助的情况下坚持尝试了。我正在尝试使用

https://github.com/billgraziano/go-windows-svc/blob/master/cmd/gosvc/main.go。

我克隆了它并根据自述文件所述进行了调整。这应该会启动一项服务。该服务正在运行我们将调用的 dca,它会启动服务器。所以我什至还没有开始调试这方面的其他问题。问题是当我尝试进行构建时,我得到了

ps c:\users\rutger\go\src\go-windows-svc\cmd\gosvc> go build main.go

main.go:10:2: cannot find package "bitbucket.org/somepalce/go-dca-base/cmd/dca-agent/main.go" in any of:
        c:\go\src\bitbucket.org\someplace\go-dca-base\cmd\dca-agent\main.go (from $goroot)
        c:\users\rutger\go\src\bitbucket.org\somepalce\go-dca-base\cmd\dca-agent\main.go (from $gopath)

这是他的程序的主要内容,但第一次导入是相对于我的路径进行调整的。 包主要

import (
    "bitbucket.org/someplace/go-dca-base/cmd/dca-agent/main.go"
    "github.com/pkg/errors"
)

windows服务项目的文件结构

c:\users\rutger\go\src\go-windows-svc
├───app
└───cmd
    └───gosvc
          -- (has the main)

dca 的文件结构

c:\users\rutger\go\src\bitbucket.org\someplace\go-dca-base\cmd\dca-agent
├───cmd
       -- (has main for dca)
├───compile
└───logs

ps c:\users\rutger\go\src\go-windows-svc\cmd\gosvc> go build main.go main.go:10:2:在以下任一位置找不到包“bitbucket.org/somepalce/go-dca-base/cmd/dca-agent/main.go”: c:\go\src\bitbucket.org\somepalce\go-dca-base\cmd\dca-agent\main.go (来自 $goroot) c:\users\rutger\go\src\bitbucket.org\somepalce\go-dca-base\cmd\dca-agent\main.go(来自 $gopath) ps c:\users\rutger\go\src\go-windows-svc\cmd\gosvc>

go 环境的输出 ps c:\users\rutger\go\src\go-windows-svc\cmd\gosvc> go env

set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\rutger\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\rutger\go
set GOPROXY=
set GORACE=
set GOROOT=c:\go
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\rutger\AppData\Local\Temp\go-build634488178=/tmp/go-build -gno-record-gcc-switches

我已经阅读了堆栈中的其他问题及其要求,例如:\n

无法从 $goroot 和 $gopath 找到包 \n

https://forum.golangbridge.org/t/go-build-cant-find-package/11880/10 \n

无法从 $goroot 和 $gopath 找到包

所以,感谢您的任何帮助。我认为添加供应商不会有任何问题,因为所有路径看起来都很好。


解决方案


您导入的 bitbucket.org/printtrackerpro/go-dca-base/cmd/dca-agent/main.go 无效,原因有两个:

  • 在 Go 中,您导入,而不是文件
  • 您根本无法导入 main 包,因为 main 是程序的入口点,并且不允许循环依赖

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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