出于某种原因,我想按照官方文档从源代码构建一个 go 项目(docker swarm)。如果我这样做效果很好:...cd $GOPATH/src/github.com/docker/swarmgo install .但是如果我尝试“单行”它并避免它会失败cd:go install $GOPATH/src/github.com/docker/swarmERROR: can't load package: package <my go path>/src/github.com/docker/swarm: import "<my go path>/src/github.com/docker/swarm": cannot import absolute path为什么不能去处理这条绝对路径?
2 回答
慕斯王
TA贡献1864条经验 获得超2个赞
JimB 是正确的,包是相对于导入路径的。没有“绝对”导入的能力。
虽然规范中没有具体说明,但它确实在https://golang.org/ref/spec#ImportPath中提到了它:
ImportPath 的解释取决于实现,但它通常是已编译包的完整文件名的子字符串,并且可能与已安装包的存储库相关。
相对导入和销售可能对您有用(请参阅 GO 1.5 销售实验,现在在 1.6 中可用https://docs.google.com/document/d/1Bz5-UB7g2uPBdOx-rw5t9MxJwkfpx90cqG9AFL0JAYo/edit?pref=2&pli= 1 )
- 2 回答
- 0 关注
- 178 浏览
添加回答
举报
0/150
提交
取消
