windows 使用 go-revel 问题

最近在项目中用到了revel框架进行golang开发,项目框架按照revel的标准定义进行开发,使用了vendor进行依赖管理,结果在使用revel run编译项目的时候,revel自动生成的tmp/main.go中,依赖的revel路径不对,多了项目前缀,不是以github开始,导致不能正常编译,无法启动,而且这个main.go是自动生成的,修改了每次还是会自动生成。但发现同事的电脑上没问题,他时linux系统,估计和系统有关,后面查看revel的源码,果不其然,revel在自动生成文件时,对于vendor的依赖,没有考虑到系统问题。

revel/cmd/harness/reflect.go中,处理vendor中依赖的路径时,用的硬编码/vendor/,太可怕了

if vendorIdx := strings.Index(root, "/vendor/") ; vendorIdx != -1 {
    return filepath.ToSlash(root[vendorIdx+8:])
}

修改后再次instal revel,执行就OK了,目前github上没有兼容,后面有时间提个MR

if vendorIdx := strings.Index(root, filepath.FromSlash("/vendor/")) ; vendorIdx != -1 {
    return filepath.ToSlash(root[vendorIdx+8:])
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,315评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,426评论 25 709
  • 关于写作 写东西这种事情,越写越没意思,你写了别人还不一定看得懂,倒反过来怪作者写的生涩。之前看公众号,觉得还好吧...
    哥窑阅读 481评论 0 3
  • 一、一个面试的故事 一家跨国集团公司想招聘一名行销业务总监。在经过层层筛选后,有5人幸运地获得了最终面试的机会。其...
    Andy0222阅读 1,308评论 0 1
  • 一如昨日潇潇 已分不清东西南北 这一刻 我只知道 这一路的归途 它的终点站 是家 来不及欣赏 车窗外 严冬挺立的青...
    英雄若回头阅读 214评论 0 1

友情链接更多精彩内容