我按照the installation instructions的自定义安装条款安装了go,因为我已安装到用户目录,以便适应多个版本的go。
当我从我的项目的src目录中go get .
时,我得到上面已经提到的错误消息类型 -
无法识别的导入路径(导入路径不以主机名开头)
您能否解释一下,为什么要寻找一个主机名以及在典型项目中应该如何避免这一点?
顺便说一句,我在设置following specific project and hash时遇到了问题,接受的答案仍然提到street。
答案 0 :(得分:5)
go get
通过假设导入路径(在源代码中的import
语句中)标识可以下载包的URL,例如yap/app
来下载依赖项和包。 github.com/habeanf/yap。只要开发人员正确使用导入,它就可以工作;不幸的是,yap项目的开发人员没有。
他们导入github.com/habeanf/yap/app
的位置,他们应该导入$GOPATH/src/yap
等。唯一的解决方法是手动将GitHub仓库克隆到select availability.adate, sum(intrusionEvents.duration)/availability.uptime, intrusionEvents.host
FROM availability left join intrusionEvents on (availability.adate = intrusionEvents.itime::date)
WHERE availability.adate >= '20171001' and availability.adate < '20171101'
GROUP by availability.adate, intrusionEvents.host,
availability.uptime
,然后尝试构建它。您可能希望在该项目上打开GitHub问题并请求他们修复导入路径,以便它可以像普通的Go项目一样构建。
答案 1 :(得分:0)
我在 Windows 上设置同一个项目时遇到了同样的问题(注意:更新的项目文档为 here)。
结果证明 GOPATH 是通过 GO 安装为我的用户名设置的,而我根据文档中的描述更新了系统环境 GOPATH:
<块引用>将 $GOPATH 环境变量设置为您的工作区:export GOPATH=path/to/yapproj
为我的用户名删除 GOPATH 解决了问题,我设法构建了应用程序。
我发布此信息是为了防止其他人像我一样在此问题上花费太多时间。