heroku - Godep 处理自定义包

标签 heroku go godeps

这是我的问题。 我有 go-app,它使用我自己创建的一些自定义包。 我不想在 git 或其他地方发布这个包。 它们只是具有某些特定功能的包。

因此,我的项目文件夹如下所示:

|--src/github/u-mulder
  |--/project_name
       |--/Godeps  
       |--/public
       |--/vendor
       |--main.go  
       |--Procfile  

我将我的包放在 vendor 文件夹中:

-/Godeps  
-/public
-/vendor
  |---/github.com/u-mulder/package_one/package_one.go
  |---/github.com/u-mulder/package_two/package_two.go
-main.go  
-Procfile  

好的,在我的 main.go 中,我成功导入了这个包:

import (
    "database/sql"
    "fmt"
    "github.com/u-mulder/package_one"
    "github.com/u-mulder/package_two"
    // more packages here    
)

一切正常。

现在我想准备我的项目以使用 godep 部署到 heroku。 因此,在我运行的项目的根文件夹中

> godep save ./...

我的问题来了 - 因为我的包已经在 vendor 文件夹中,我收到错误:

godep: Package (github.com/u-mulder/package_one) not found

当然,我可以为我的每个包创建一个项目。然后 src 的结构将如下所示:

|--src/github/u-mulder
  |--/package_one
    |-package_one.go
  |--/package_two
    |-package_two.go
  |--/project_name
       |--/Godeps  
       |--/public
       |--/vendor
       |--main.go  
       |--Procfile  

然后上面提到的问题没有了,但是出现了第二个:

godep: error while inspecting "$GOPATH/src/github.com/u-mulder/package_one": directory "$GOPATH/src/github.com/u-mulder/package_one" is not using a known version control system

所以,我当然可以在每个项目包中创建一个.git 仓库(也许这个问题就会消失),但我不想,这些只是我使用的本地包仅。

所以,问题是 - 在哪里放置我的自定义(或者说 - 本地)包以便 godep 可以找到它们并且不希望它们成为“真正的”包?

我发现了类似的东西 here ,但这与 vendor 文件夹无关。

最佳答案

感谢@JimB 的评论,我发现了以下内容:

最明显和最简单的解决方案就是

keep your dependencies in GOPATH, with version control, and just let godep handle them all (@JimB)

所以是的,这意味着将包添加到 git 和所有这些东西。

如果您不想/不能这样做,操作顺序可以是:

  • 代码
  • 测试
  • vendor 中删除您的本地依赖项(包)
  • 运行 godep 更新其他依赖项(如 httprouterlibpq 等)
  • 手动将本地依赖项添加回 vendor
  • promise

但显然这不是一个好方法。

关于heroku - Godep 处理自定义包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41165857/

相关文章:

css - Heroku 没有更新我的 CSS 和 JS

network-programming - golang 提供 htonl/htons 吗?

c - 为什么 C 比 Go 或 D 更快地构建小程序?

go - 为什么 `time.Since(start).Seconds()` 总是返回 0?

go - 如何更新 https ://github. com/hashicorp/terraform.git for terraform 的 vendor 文件夹

java - XmlBeans.Factory 解析方法的 ClassCastException 不一致

heroku - 在 Heroku 上运行时激活 JetPack WordPress 插件?

windows - “GoDep”未被识别为内部或外部命令

ruby-on-rails - Michael Hartl 的 Ruby on Rails 教程第 2 章练习(demo_app): app works on Windows 8 localhost, 但在 Heroku 上不起作用