为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能从绝对路径构建?

为什么不能从绝对路径构建?

Go
心有法竹 2022-01-10 16:27:13
出于某种原因,我想按照官方文档从源代码构建一个 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 )


查看完整回答
反对 回复 2022-01-10
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

我来这里是为了找到同一个问题的答案,因为我在做同样的事情,发现有两种方法可以做到这一点......

所以我想我会分享:

从包目录中运行:

cd $GOPATH/src/github.com/docker/swarmgo install .

并作为相对回购:

go install github.com/docker/swarm

有官方文档去一些细节在这里


查看完整回答
反对 回复 2022-01-10
  • 2 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号