【问题标题】:cannot find package on travis-ci -golang在 travis-ci-golang 上找不到包
【发布时间】:2014-04-21 08:23:58
【问题描述】:

我正在尝试运行 go 脚本作为构建过程的一部分。该脚本导入一个“自定义”包。但是我收到此导入错误。 存储库名称是 bis。我运行的脚本是configbis.go。导入的包configbis.gomymodule

项目结构如下:

bisrepo -------
 |            |
mymodule    configbis.go

去跑configbis.go

configbis.go:16:2: cannot find package "bisrepo/mymodule" in any of:

/home/travis/.gvm/gos/go1.1.2/src/pkg/bisrepo/mymodule (from $GOROOT)

/home/travis/.gvm/pkgsets/go1.1.2/global/src/bisrepo/mymodule (from $GOPATH)

我尝试在 configbis.go 中导入 mymodule,如下所示:

import "mymodule"
import "bisrepo/mymodule"
import "github.com/user/bisrepo/mymodule"

它们都不起作用。我的想法/选项用完了... 我阅读了travis-ci 文档,发现它没用。

【问题讨论】:

  • 当您尝试运行脚本时,$GOPATH 设置为什么?
  • 从错误中我只能假设它是 /home/travis/.gvm/pkgsets/go1.1.2/global/src/ 。文档不多说(docs.travis-ci.com/user/languages/go
  • 在终端中执行echo $GOPATH。它说什么?这将帮助我们解决您的问题。
  • 它说 /home/travis/.gvm/pkgsets/go1.1.2/global。与错误中的相同

标签: build go continuous-integration travis-ci


【解决方案1】:

您可以尝试在 .travis.yml 中添加类似的内容:

install:
    - go get github.com/user/bisrepo/mymodule

【讨论】:

  • @Theuserwithnohat 我猜你应该试试 Travis CI 的私人仓库
【解决方案2】:

为了使用私有仓库,您必须提供一个 github api auth 令牌(在部署引用 Heroku 上私有仓库的 go 项目时也是如此)。您可以尝试在 .travis.yml

中添加类似的内容
before_install:
- echo "machine github.com login $GITHUB_AUTH_TOKEN" > ~/.netrc

【讨论】:

  • 本地包(例如“bisrepo/mymodule”)呢?
猜你喜欢
  • 1970-01-01
  • 2018-11-17
  • 2019-10-29
  • 1970-01-01
  • 2013-05-16
  • 2020-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多