在此处的文档中:https://docs.travis-ci.com/user/languages/go#Dependency-Management
这是安装依赖步骤:
如果版本大于或等于1.2
go get -t ./...
我的项目如下:
root
---- src
---- github.com
---- myProject
---- pkg
GOPATH
设置为root
但是我收到了这个错误:
package github.com/aws/aws-lambda-go/lambda: home/travis/build/path/to/package exists but home/travis/build/path/to/package.git does not - stale checkout?
如何像nodejs中的npm install
那样立即安装所有依赖项?
答案 0 :(得分:2)
如何立即安装所有依赖项?
这就是go get
所做的......在您的情况下,某些内容可能会被错误配置或损坏。你可以先尝试一些事情。
go get
安装到$ GOPATH环境变量的第一个路径中。确认它已设置为您想要的(通常是以名为go
的目录结尾的路径;将创建子目录src
,pkg
等。
如果您要使用./...
,请确保从正确的目录中呼叫go get
。
检查以确保git root位于正确的位置
尝试使用非通配符名称/路径/地址作为您要获取的包,而不是./...
尝试在没有go get
标记
-t
如果这些都不起作用,您可以通过删除目录(home / travis / build / path / to / package)并再次尝试来解决问题 - 确保您没有删除您工作的任何代码on,或git repository / files,除非它在某处备份。
根据Go tools documentation,您只需要致电
go get [packages]
安装命名包及其依赖项:
下载导入路径命名的软件包及其依赖项。然后安装命名包,比如'go install'。
...
省略号是一个通配符,可以展开以匹配任何字符串。请参阅Description of Package Lists:
导入路径是一种模式,如果它包含一个或多个“...”通配符,每个通配符都可以匹配任何字符串,包括空字符串和包含斜杠的字符串。这样的模式扩展到GOPATH树中找到的所有包目录,其名称与模式匹配。
./
表示“此处”:因此,如果您要使用./...
-t
标志用于下载构建测试所需的包:
-t标志指示get还下载构建指定包测试所需的包。
您看到的错误与git有关。有时原因不明,但通常可以通过删除目录并重新开始来修复(例如,参见"Error to install golint"或"Correct way to get package")
(您可能还会发现this blog post on configuring travis-ci for Go有帮助。)