首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何不使用Go get安装go应用程序?

如何不使用Go get安装go应用程序?
EN

Stack Overflow用户
提问于 2017-04-03 12:18:15
回答 2查看 1.4K关注 0票数 2

我正试图在我的ubuntu机器上安装一个特定版本的CockroachDB。我按照网站上的指南,下载了~200 is后,安装了最新版本:

代码语言:javascript
复制
$ go get -d github.com/cockroachdb/cockroach
$ cd $GOPATH/src/github.com/cockroachdb/cockroach
$ git checkout beta-20170330
$ make install

一个问题是,/src/github.com/cockroachdb/cockroach是300 it,而如果我从GitHub页面下载最后一个版本,则只有30 it。为什么?

我使用git checkout v0.1-alpha切换到我想要的版本:

代码语言:javascript
复制
warning: unable to rmdir vendor: Directory not empty
Previous HEAD position was f0f5783... Merge pull request #14448 from BramGruneir/vendorsnappy
HEAD is now at 26088f8... Merge pull request #3475 from mrtracy/mtracy/code_review_feedback

但是在运行make install之后,它失败了:

代码语言:javascript
复制
github.com/agtorre/gocolorize                      99fea4bc9517 [checkout f42b554bf7f0]
github.com/biogo/store                             913427a1d5e8 [checkout 3b4c041f52c2]
github.com/cockroachdb/c-lz4                       834d3303c9e8 [checkout c40aaae2fc50]
github.com/cockroachdb/c-protobuf                  323984796a7b [checkout 6a18bfcdd516]
github.com/cockroachdb/c-rocksdb                   0dd42399d1f0 [checkout bf15ead80bdc]
github.com/cockroachdb/c-snappy                    c0cd3c9ce92f [checkout 5c6d0932e0ad]
github.com/cockroachdb/yacc                        7c99dfd2164a [get checkout 443154b1852a]
github.com/coreos/etcd                             38a914973544 [checkout 0eb46eb1457b]
github.com/cpuguy83/go-md2man                      a65d4d2de4d5 [get checkout 71acacd42f85]
github.com/docker/docker                           6311e9fc9d34 [get checkout 5e0283effa73]
github.com/elazarl/go-bindata-assetfs              30f82fa23fd8 [checkout d5cac425555c]
github.com/go-sql-driver/mysql                     9dee4ca50b83 [get checkout d512f204a577]
github.com/gogo/protobuf                           c0656edd0d9e [checkout 8658879224bd]
github.com/golang/lint                             cb00e5669539 [get checkout 32a87160691b]
github.com/google/btree                            316fb6d3f031 [checkout cc6329d4279e]
github.com/gordonklaus/ineffassign                 f0c5cfc1817d [get checkout 507e48671a07]
github.com/inconshreveable/mousetrap               76626ae9c91c [get OK]
github.com/jteeuwen/go-bindata                     a0ff2567cfb7 [get OK]
github.com/julienschmidt/httprouter                6f3f3919c878 [checkout f30ab90cccbd]
github.com/kisielk/errcheck                        23699b7e2cbf [get checkout 12fd1ab9811e]
github.com/kisielk/gotool                          0de1eaf82fa3 [get checkout 58a7a198f2ec]
github.com/kr/pretty                               cfb55aafdaf3 [get checkout e6ac2fc51e89]
github.com/kr/text                                 7cafcd837844 [get checkout bb797dc4fb83]
github.com/lib/pq                                  2704adc878c2 [checkout 11fc39a580a0]
github.com/mattn/go-runewidth                      14207d285c6c [checkout d96d1bd051f2]
github.com/mibk/dupl                               3447d9b0cb5a [get checkout 47b66d6a523f]
github.com/montanaflynn/stats                      f8cd06f93c6c [checkout 4dd27fe9ac79]
github.com/olekukonko/tablewriter                  febf2d34b54a [checkout 333c0610de34]
github.com/opennota/check                          11e2eec79ec4 [get checkout 591428223a6a]
github.com/peterh/liner                            88609521dc4b [checkout 4d47685ab2fd]
github.com/rcrowley/go-metrics                     1f30fe9094a5 [checkout 7839c01b09d2]
github.com/robfig/glock                            39b969c32281 [checkout cb3c3ec56de9]
github.com/russross/blackfriday                    5f33e7b78783 [get checkout d18b67ae0afd]
github.com/samalba/dockerclient                    a30362618471 [get checkout 4656b1bc6cbc]
github.com/shurcooL/sanitized_anchor_name          1dba4b3954bc [get checkout 10ef21a441db]
github.com/spf13/cobra                             7aeaa2cce6ae [checkout ee6224d01f6a]
github.com/spf13/pflag                             d16db1e50e33 [checkout 08b1a584251b]
github.com/tebeka/go2xunit                         13c29c7515e6 [get checkout 0519fcc9b45b]
github.com/termie/go-shutil                        bcacb06fecae [get OK]
golang.org/x/crypto                                88915ccf7aeb [checkout 7b85b097bf75]
golang.org/x/net                                   ffcf1bedda3b [checkout 21af302bb527]
golang.org/x/text                                  f4b4367115ec [checkout 00e205363f74]
golang.org/x/tools                                 620ecdb8d794 [checkout 1cdaff4a02c5]
gopkg.in/yaml.v1                                   9f9df34309c0 [OK]
cmd github.com/cockroachdb/c-protobuf/cmd/protoc                [built]
cmd github.com/cockroachdb/cockroach/protoc-gen-gogoroach       [error exit status 2]
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/gogoproto
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/protoc-gen-gogo/plugin
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/vanity
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/testgen
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/defaultcheck
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/embedcheck
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/enumstringer
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/marshalto
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/oneofcheck
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/populate
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/unmarshal
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/compare
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/description
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/equal
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/face
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/gostring
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/size
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/stringer
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/plugin/union
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/protoc-gen-gogo/grpc
github.com/cockroachdb/cockroach/vendor/github.com/gogo/protobuf/vanity/command
github.com/cockroachdb/cockroach/protoc-gen-gogoroach
# github.com/cockroachdb/cockroach/protoc-gen-gogoroach
protoc-gen-gogoroach/main.go:12: undefined: vanity.NotInPackageGoogleProtobuf
go install -tags ''  -ldflags '-X "github.com/cockroachdb/cockroach/util.buildTag=alpha-6447-g26088f8" -X "github.com/cockroachdb/cockroach/util.buildTime=2017/04/03 11:46:56" -X "github.com/cockroachdb/cockroach/util.buildDeps=github.com/cockroachdb/c-lz4:c40aaae2fc50293eb8750b34632bc3efe813e23f github.com/cockroachdb/cockroach:26088f81e5ecfb2fd63f8f15f524102c9a0c1c05 github.com/cockroachdb/cockroach/vendor:17711805119083543d94edac10e423260a597426 github.com/julienschmidt/httprouter:f30ab90cccbd5171771d26b6557d3c2f49e047a6 github.com/peterh/liner:4d47685ab2fd2dbb46c66b831344d558bc4be5b9 gopkg.in/yaml.v1:9f9df34309c04878acc86042b16630b0f696e1de"'
# github.com/cockroachdb/cockroach/cli
cli/sql_util.go:148: table.Append(row) used as value
Makefile:71: recipe for target 'install' failed
make: *** [install] Error 2

如果我能安装从GitHub下载的特定版本,我会非常感激,因为它的体积更小,结构更干净。但它缺少一些文件,如.go-version.bootstrapfatal: Not a git repository (or any of the parent directories): .git

go get是否自己插入这些文件?如何初始化它们?

应该有更好的方法来做到这一点,而不必每次运行make install时再下载100‘t

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-03 13:53:17

使用go get下载蟑螂数据库,我得到一个大小为664 of的$GOPATH/src/github.com/cockroachdb/cockroach

然后,我试图克隆蟑螂的github,它的大小为304 to,其中大部分是因为.git隐藏文件夹,它是263 to。

从github下载一个end文件,然后解压它,我将得到一个42 up的文件夹。

然而,纯git克隆的repo和zipfile版本缺乏文件夹,您可以在这里读到。它又占了302 It。当使用go get下载回购时,文件夹中填充了蟑螂数据库的依赖项(我猜它遵循github页面上的蟑螂供应商回购链接)。

由于我是从主分支中完成这一操作的,所以我的大小与v0.1-alpha版本略有不同。但我猜这也是造成尺寸差异的原因之一。

要让它使用the文件“工作”,可以尝试将the文件解压缩到$GOPATH/src/github.com/cockroachdb/cockroach中。然后在该文件夹中执行git init。然后按照该标记中的自述文件中的说明进行操作,这表明您应该运行make build。但是,我相信您仍然需要获得一些蟑螂的依赖项,因此,仅仅按照官方指示执行可能要简单得多。

我还没有试过,但是您确定每次运行make install都会导致新的下载吗?

票数 0
EN

Stack Overflow用户

发布于 2017-04-03 14:50:26

我使用git签出v0.1-alpha切换到我想要的版本。

v0.1-alpha是古老的,当然不是您想要的(我对它不再构建并不感到惊讶;从那以后,我们已经改进了构建过程的可重复性)。最新的版本(撰写本文时)是表单beta-YYYYMMDD的版本。

CockroachDB 二进制释放可以在没有go get的情况下安装。我们目前正在重新编写安装说明,以使用源tarball而不是go getgit clone

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43184477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档