在Heroku上使用第三方软件包进行项目

时间:2014-05-19 18:51:30

标签: heroku deployment go

将Go项目部署到Heroku时,pq软件包的安装失败。我也在heroku buildpack github issues发布了此内容。

部署时出错:

-----> Running: godep go install -tags heroku ./...
gournay.go:10:3: cannot find package "github.com/lib/pq" in any of:
    /app/tmp/cache/go1.2.1/go/src/pkg/github.com/lib/pq (from $GOROOT)
    /tmp/build_ce268203-801e-4dfc-a56c-d70698d6c5bf/.heroku/g/src/github.com/andyatkinson/gournay/Godeps/_workspace/src/github.com/lib/pq (from $GOPATH)
    /tmp/build_ce268203-801e-4dfc-a56c-d70698d6c5bf/.heroku/g/src/github.com/lib/pq
godep: go exit status 1

go getgo install按预期在本地运行。该项目是在本地建立和运行的。我相信我的包结构是正确的,GOPATHGOROOT是正确的。我正在使用godep创建下面的依赖项文件。 pq包的源代码似乎被复制到项目中,因此它似乎可以从该源代码编译。

~/go/src/github.com/andyatkinson/gournay (master) $ cat Godeps/Godeps.json
{
    "ImportPath": "github.com/andyatkinson/gournay",
    "GoVersion": "go1.2.1",
    "Deps": [
        {
            "ImportPath": "github.com/lib/pq",
            "Rev": "c808a1bb644594ca717ac61f71e6b0e454b835e2"
        }
    ]
}

我错过了什么吗?我还应该检查一下吗?谢谢!

1 个答案:

答案 0 :(得分:1)

你在开发上运行godep save吗?

来自godep自述文件:

$ godep save
This will save a list of dependencies to the file Godeps/Godeps.json, 
and copy their source code into Godeps/_workspace. Read over its 
contents and make sure it looks reasonable. 
Then commit the file to version control.

---更新---

我看到你的回购,然后登上heroku http://warm-depths-3154.herokuapp.com/,按照步骤

rm -Rf  gopack.config .godir .gopack
godep save
git add --all . // please commit the Godep folder
git commit -m 'using godep, removed gopack' 

(提交https://github.com/dukex/gournay/commit/0de2390835357879a34ea452a56eeeb6391e5ba8