首页  >  文章  >  后端开发  >  为什么我无法从 Go 1.6 中的供应商目录导入包?

为什么我无法从 Go 1.6 中的供应商目录导入包?

Barbara Streisand
Barbara Streisand原创
2024-10-28 21:55:30749浏览

Why Can't I Import Packages from My Vendor Directory in Go 1.6?

Go 1.6 中的供应:解决导入问题

理解 Go 1.6 中的供应概念可能具有挑战性。让我们分解一个常见场景并提供一个解决方案来协助使用新的供应商功能导入文件。

问题:尽管遵循文档并在线研究,但个人无法使用Go 1.6 中的供应商目录。

这是一个示例项目结构:

.
└── src
    ├── main.go
    └── vendor
        └── github.com
            └── zenazn
                └── goji
                    ├── ...

项目中的唯一文件 main.go:

<code class="go">import (
    "github.com/zenazn/goji"
    "github.com/zenazn/goji/web"
)</code>

环境变量:

<code class="Bash">export GOPATH=~/.go
export GOBIN=$GOPATH/bin
export PATH=$PATH:/usr/local/opt/go/libexec/bin:$GOBIN</code>

尝试的构建命令:

  • go run ./src/main.go
  • go build ./src/main.go

解决方案:

要解决这个问题,了解 Go 工具处理源代码和 GOPATH 的方式至关重要。构建Go程序:

  1. 在$GOPATH/src下创建一个目录,例如mkdir $GOPATH/src/myprogram。
  2. 放置所有源代码(包括vendor目录)其中:$GOPATH/src/myprogram/main.go、$GOPATH/src/myprogram/vendor。
  3. 运行 go install myprogram 来编译应用程序,并将生成的 myprogram 二进制文件放入 $GOPATH/bin/myprogram 中。

请参阅官方文档 https://golang.org/doc/code.html 以全面了解这些概念。

以上是为什么我无法从 Go 1.6 中的供应商目录导入包?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn