美文网首页
奇怪的Go Vendor

奇怪的Go Vendor

作者: jimxl | 来源:发表于2016-11-26 22:27 被阅读0次

有了ruby,现在无论写什么都想找跟ruby对应的工具,其中包管理器就是这样的.

ruby中有bundle 简单,强大,使用方便.

go在官方推荐了(https://github.com/golang/go/wiki/PackageManagementTools)

包管理器

依次点开之后,要么就是太复杂,要么就是用json配置,要么就是好久不更新了,最终权衡下来发现只有gom还比较符合bundle的习惯,又比较简单.于是开始用之.

首先我设置了

export GOPATH=$HOME/.golang
export PATH="$PATH:$GOPATH/bin

然后进入了我习惯放置代码的目录

cd $HOME/project/golang_project

给予测试优先,我要先找一个好用的测试库,于是找到了跟ruby社区最接近的(https://github.com/onsi/ginkgo)

ginkgo

编写了 Gomfile文件(Gemfile...一切都是那么熟悉)

gom 'github.com/onsi/ginkgo/ginkgo'
gom 'github.com/onsi/gomega'

然后随便编写了一个main程序 (main.go)

package main

import (
    . "github.com/onsi/ginkgo"
    . "github.com/onsi/gomega"

    "testing"
)

func main(t *testing.T) {
    RegisterFailHandler(Fail)
    RunSpecs(t, "TestGo Suite")
}

开心的运行

gom install

到此一切顺利,本来以为一切就是这么开心,没想到麻烦之处才刚刚开始

gom run main.go

就是无论如何也找不到前面gomfile依赖的包, 不过go还是很贴心的打出了寻找的路径,发现他说的错误是找不到 vendor/src/github.com/onsi/ginkgo/ginkgo 但是打开 vendor发现就是少了src这一层目录很奇怪,于是开始google,开始各种查,大家的文章都是写的 vendor目录到了1.7.3已经是默认支持的了,但是为什么就是不行呢.

很奇怪! 很奇怪!

来来回回一下午,中间还尝试的更换了各种包管理器程序最后都是不行.

最后无意间看到一篇文章 说要支持vendor,代码的目录必须在gopath src目录下,于是赶紧修改。

成功了.

但是内心却不快乐,为什么我的代码要和我安装的库放在一起,真的是tm的扯淡。

golang没有一个好的包管理器,真的很难再强大了。


推荐一下自己的项目

https://github.com/jimxl/rubygo

相关文章

  • 奇怪的Go Vendor

    有了ruby,现在无论写什么都想找跟ruby对应的工具,其中包管理器就是这样的. ruby中有bundle 简单,...

  • Go vendor使用

    各种依赖包报错: 下载go vendor:go get -u -v github.com/kardianos/go...

  • go vendor的用法

    使用go很长时间后才整明白vendor的用法为啥这么坑人。 1. 通常目录结构: 注意 模块

    指得是你的...

  • Go Mod对比Go Vendor

    之前写Go的时候都是直接Deb或者更暴力的Go get来安装依赖包,也是因为那时候为了赶项目直接走最直接的方法,现...

  • Go 包依赖管理工具 —— govendor

    govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具。与原生 vendor 无侵入性...

  • Go 包依赖管理工具 —— govendor

    govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具。与原生 vendor 无侵入性...

  • 关于go 1.14版本在空项目中使用go mod的bug处理

    go 1.14在空项目中 使用go mod vendor会报错 这个是go1.14的一个bug 要处理这个就需要...

  • go mod vendor小计

    调试库代码 go mod现在已经深入人心。想用fmt.Printf大法调库代码,会发现缓存的go mod代码是不能...

  • go mod 使用汇总

    go mod 是什么 是官方的包管理工具 之前有非官方的,如 go vendor等工具 发展历程 在go的1.11...

  • Go包管理最佳实践(2019/3)

    Golang的包管理经过了多种工具的演变,从go vendor,到godep),再到dep。这里使用的是从go v...

网友评论

      本文标题:奇怪的Go Vendor

      本文链接:https://www.haomeiwen.com/subject/xsmgpttx.html