Go语言中文网 为您找到相关结果 274

Docker 和 Kubernetes 的可视化管理工具Weave Scope

Weave Scope 用于监控、可视化和管理 Docker 以及 Kubernetes。 Weave Scope 这个项目会自动生成容器之间的关系图,方便理解容器之间的关系,也方便监控容器化和微服务化的应用。 **Weave Scope 的功能特性** 拓扑映射 Scope 中的视图 图形或表格模式 灵活的过滤 强大的搜索 实时的应用和容器指标 使用插件 API 生成自定义指标 ![image](https://static.oschina.net/uploads/space/2018/0605/104712_Lrhb_2720166.png) ![image](https://static.oschina.net/uploads/space/2018/0605/10...阅读全文

在Mac OS X(10.7.5)下安装和使用GO语言

在Mac OS X(10.7.5)下安装和使用GO语言 转载自:http://blog.prosight.me/index.php/2010/08/655,进行部分修改; Go语言是Google新推出的结合了动态语言和静态语言优势的一个新兴的语言。下面介绍一下如何在Mac系统下安装和使用这个语言。 1、设置环境变量: $GOROOT GO语言的根目录,通常是$HOME/go,当然也可以是任何其他目录。 $GOOS 和 $GOARCH 标明GO语言所在的系统和处理器类型。$GOOS可以是linux, freebsd, darwin (Mac OS X 10.5 or 10.6)和 nacl (Native Client, an incomplete port)。$GOARCH可以是amd64 ...阅读全文

博文 2014-10-09 19:00:00 dabiaoyanjun

一起弄明白go的依赖管理 Go Modues/ GOPATH

一起弄明白go的依赖管理 Go Modues/ GOPATH 不要吝啬你的批评与感悟,敬请留言,我们一起进步。 如果你有过以下问题,欢迎阅读文章,提出意见与建议 go mod 怎么使用?GOPATH是什么?GO111MODULE="" 这个参数决定了什么?go get、go download 有什么区别?import到底import的什么东西? 依赖管理工具 用过Java 的同学都知道,对依赖的管理经历了从原始的手动引入jar包,到使用maven等自动化管理工具去引入第三方依赖的过程,从而可以使用别人已经开发好的优秀工具。如果使用过Python的同学可能会熟练的使用pip install 第三方的工具包。Java 和Python的第三方工具包都是集中式管理的,使用maven 或者是pip 都...阅读全文

博文 2020-04-24 11:34:52 凌风清羽

Go应用配置管理,支持多种格式,多文件加载

功能完善的Golang应用程序配置管理工具库。 - 支持多种格式: `JSON`(默认), `INI`, `YAML`, `TOML`, `HCL` - `JSON` 内容支持注释,解析时将自动清除注释 - 支持多个文件、多数据加载 - 支持从 OS ENV 变量数据加载配置 - 支持从远程 URL 加载配置数据 - 支持从命令行参数(flags)设置配置数据 - 支持数据覆盖合并,加载多份数据时将按key自动合并 - 支持通过 `.` 分隔符来按路径获取子级值。 e.g `map.key` `arr.2` - 支持解析ENV变量名称。 like `shell: ${SHELL}` -> `shell: /bin/zsh` - 简洁的使用API `Get` ...阅读全文

Go的包管理工具(四):Go Module Proxy

在前面的文章,我们介绍了Go Modules。Go module支持了Versioned Go,并初步解决了包依赖管理的问题。 新的工作模式也带来了一些问题,在大陆地区我们无法直接通过 go get 命令获取到一些第三方包,最常见的就是 golang.org/x 下面的各种优秀的包。一旦工作在模块下,go build 将不再关心 GOPATH 或是 vendor 下的包,而是到 GOPATH/pkg/mod 查询是否有cache,如果没有,则会去下载某个版本的 module,而对于某些包的 module,在大陆地区往往会失败。本文将重点介绍 go module 的 proxy 配置实现,包括如下两种的代理配置: GOPROXY Athens GOPROXY goproxy 是一个开源项目,当...阅读全文

博文 2019-03-20 00:34:41 aoho

go web开发之iris(一)

1.vgo安装:https://github.com/wuyumin/vgo/blob/master/docs/zh-CN.md vgo是Go语言推出的第三方库管理工具,即将在Go语言新版本中使用。 相信大家都接触过其它语言的第三方库管理工具,比如Java的maven,PHP的composer,Python的pip,Node的npm等。vgo类似于这样的功能,方便Go语言项目管理第三方库。 可以设置模块代理:设置环境变量 GOPROXY 的值为代理网址,目前可用的模块公共代理网址有: https://goproxy.io https://athens.azurefd.net https://goproxy.cn https://gocenter.io (注:Go语言官方已推出官方模块代理 h...阅读全文

博文 2019-07-17 18:32:42 东京的雨不会淋湿首尔

Mirantis决定采用Kubernetes作为 Openstack的生命周期管理工具

Mirantis是OpenStack的主要贡献者,今天他宣布将使用Kubernetes作为底层编排引擎重写其私有云平台。我们认为这是推进OpenStack和Kubernetes 社区伟大的一步。 Openstack的用户将会享受到Kubernetes带来的巨大的效率、可管理性与弹性的提升,同时他们的应用将能够使用更多的云原生模式。 在一个平台上管理基于容器与虚拟机的应用也让Kubernetes社区更加有信心。 ## 云原生路径 谷歌花了十几年时间开发、应用和提炼云原生计算的原则。云原生应用是: ● 容器封装,应用程序是由封装好的、可在多种环境重用的单元组成的 ● 动态调度,提高基础设施的效率和降低操作开销 ● 基于微服务,松耦合的组件大大...阅读全文

Mac OS X系统搭建谷歌Go语言开发工具 Sublime Text 环境配置

载地址:http://www.cr173.com/html/33948_1.html Go语言是谷歌自家的编译型语言,旨在不损失性能的前提下降低代码复杂率。其优势是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。 一、安装Golang的SDK 在官网http://golang.org/ 直接下载安装包安装即可。下载pkg格式的最新安装包,直接双击运行,一路按照提示操作即可完成安装。 安装完成后,打开终端,输入go,检测Golang SDK是否安装成功,如下显示,则表示安装成功: 你也可以输入go version 查看你所安装的Golang的版本 二、环境变量配置(GOPATH) GOPATH是用来告诉Golang命令和其他相关工具,在哪里可以找到你系统上的Go包目录...阅读全文

博文 2015-09-12 23:00:00 showhilllee

Atom插件

[初音未来][atom-miku] 快捷键 ctrl-alt-k markdown 快捷键 ctrl-shift-m markdown-preview:编辑实时预览插件,Atom 官方出品 language-markdown:提供 Github Flavored Markdown 等 MD 高亮支持 markdown-writer:方便管理图片、链接等 markdown-scroll-sync:将 markdown-preview 的编辑区和预览区同步滚动 markdown-table-formatter:格式化表格 打造atom成为golang开发神器 Golang 环境配置建议(Atom...阅读全文

博文 2017-09-29 23:34:53 丶沙工

Kubernetes 包管理器 Helm

**Helm** 是专为 [Kubernetes](http://www.oschina.net/p/kubernetes) 提供查找,分享和使用软件的最佳实践。 Helm 可以使用 Charts 启动 Kubernetes 集群,提供可用的工作流: * 一个 Redis 集群 * 一个 Postgres 数据库 * 一个 HAProxy 边界负载均衡 Chart 是 Kubernetes 的单元,Helm 的架构参考 [Homebrew](http://www.oschina.net/p/homebrew)...阅读全文

开源项目 2015-11-26 16:00:00 helm

进程管理工具Supervisord

Supervisord 上面已经介绍了Go目前是有两种方案来实现他的daemon,但是官方本身还不支持这一块,所以还是建议大家采用第三方成熟工具来管理我们的应用程序,这里我给大家介绍一款目前使用比较广泛的进程管理软件:Supervisord。Supervisord是用Python实现的一款非常实用的进程管理工具。supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,这样就可以保证程序执行中断后的情况下有自我修复的功能。 我前面在应用中踩过一个坑,就是因为所有的应用程序都是由Supervisord父进程生出来的,那么当你修改了操作系统的文件描述符之后,别忘记重启Supervisord,光重启下面的应用...阅读全文

博文 2017-12-20 06:12:33 学习笔记

Golang依赖管理工具之go module(go1.11)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cnwyt/article/details/85695947 大多数语言都会有包管理工具,像Node有npm,PHP有composer,Java有Maven和Gradle。 可是,Go语言一直缺乏一个官方的包管理(Dep被称为官方试验品official experiment)。 终于,在go1.11 版本中,新增了module管理模块功能,用来管理依赖包。 要知道,在这个之前,想要对go语言包进行管理,只能依赖第三方库实现,比如Vendor,GoVendor,GoDep,Dep,Glide等等,对于初学者来说,真的是选择困难症。 关于Workspaces和GOPATH 在 go1.11 之前,如...阅读全文

命令行工具-轻松管理ssh连接配置manssh

### manssh - 基于Go的ssh config命令行管理器,帮助你方便ssh连接配置 ## 功能特性 * 快速的管理ssh连接别名配置. (添加,删除,查询,更新,备份) * 快速执行远程命令. (支持交互式) ## 项目地址 [https://github.com/xwjdsh/manssh/](https://github.com/xwjdsh/manssh/) ## 安装方式 ### Homebrew安装 ```shell brew tap xwjdsh/tap brew install xwjdsh/tap/manssh ``` ### 二进制方式安装 [直接下载](https://github.com/xwjdsh/manssh/...阅读全文

Golang依赖管理工具:Dep

对于任何编程语言,依赖管理都是其必须考虑的一个问题。尤其是在大规模协作的软件开发中,如何保证大家都使用同一份依赖,项目能够随时随地重复编译, 是考核编程语言成熟度的重要指标之一。一些成熟的编程语言,例如Java、Python在这方面已经做得比较好了,但是对于新秀Golang,还要比较长的一段路要走。 Golang团队一直秉持着”简约”的设计原则,甚至强调代码的简洁和清晰度胜过代码的复用。因此,他们对依赖管理的设计非常重视和谨慎,直到v1.5才开始逐步 引入依赖管理的设计。在v1.5中实验性地加了vendor目录来支持本地依赖管理,通过环境变量GO15VENDOREXPERIMENT来控制是否使用该特性,默认不启用。 如果要使用vendor特性,需要设置环境变量GO15VENDOREXPERI...阅读全文

gsmake -- golang版gradle

什么是gsmake gsmake是一个类似于gradle的自动构建工具,使用go语言开发: gsmake是一个包管理/下载工具; 每个包有它全局唯一的包名,以及版本号; 包可以定义一系列的任务(task),任务支持由golang语言编写; 包可以相互引用,但是不能出现引用环; gsmake能够容易的执行包定义的任务; 通过上面描述不难看出,gsmake不仅仅可以用替代make管理golang代码。通过编写一系列插件 支持c/c++工程管理也是可行的,甚至你用它来编写一本《gsmake入门》的书也是有可能的这个 例子在介绍maven/gradle的时候经常提到,总之一句话你可以把它想象成maven/gradle的golang 实现版。 为啥重新发明轮子 程序员通病,自己的轮子还是要更圆些; 我...阅读全文

博文 2015-06-17 20:00:11 github_18536659

Golang目录结构

一直关注golang和kotlin, 刚好最近有个小项目, 考虑了一番, 决定用golang尝试一下. 不得不吐槽, golang的依赖管理确实是相当烂, 和maven, npm这种完全不能比, 一直喜欢最佳实践之类的东西, 所以一直想要找一个最佳的目录结构, 直到看到了这个项目 https://github.com/golang-standards/project-layout Screen Shot 2018-06-26 at 16.10.07.png 依旧期待出现类似maven的依赖管理工...阅读全文

博文 2018-06-26 16:35:00 buyu007

安全存储数字货币的多币种虚拟币钱包定制

区块链钱包(Block Chain Wallet): 是密钥的管理工具,它只包含密钥而不是确切的某一个代币;钱包中包含成对的私钥和公钥,用户用私钥来签名交易,从而证明该用户拥有交易的输出权;而输出的交易信息则存储在区块链中;用户在使用钱包时, 你的 Keystore, 助记词, 明文私钥, 都是钱包;Keystore 是你加了”锁”的钱包,而助记词和明文私钥是完全暴露在外的钱包,没有任何安全性可言,所以在使用助记词和明文私钥时,一定要注意保密安全存储数字货币的多币种虚拟币钱包定制。​钱包作为交易的入口价值钱包由于沉淀了很多用户的数字资产,当用户需要进行交易时,比较麻烦的一点就是需要转到交易所,如果比较拥堵,时间还长,容易耽误事。上了交易所,如果交易深度不够,或者价格不合适,往往也难以成交。如...阅读全文

博文 2019-10-22 17:36:51 yanfaruiec

基于管理程序的运行时间 runv

runv 是 OCF 基于管理程序的(Hypervisor-based )运行时 Runtime。 `runV` 兼容 OCF。然而,由于管理程序(hypervisors)和容器(containers)的不同,以下的 OCF 部分不能应用到 runV: * 命名空间 * Capability * 设备 * `linux` and `mount` fields in OCI specs are ignored  `runV` 当前版本支持下列的管理程序: * KVM (QEMU 2.0 or later) * Xen (4.5 or later) * VirtualBox (Mac OS X...阅读全文

Go语言环境安装-Mac

初识Go语言,就被它深深地吸引住了,解放思想,关注真正该专注的东西,感觉看到了编程语言发展的未来! 接下来谈下安装方法吧 1、Homebrew 由于公司用的Mac,而所有用mac的开发人员,都离不开Homebrew这个软件包管理工具,它同样集成了Go语言,所以安装起来毫无压力 一句话搞定Go安装(过程可能有点慢,别着急) brew install go 接下来看下是否安装成功,输入 ‘go version‘ go version go version go1.4.2 darwin/amd64 好了,版本为1.4.2,安装成功,开始我们的Go语言之旅...阅读全文

你们尽管吵,国内能用算我输

近况: 最近项目太忙,所以更新得不多,但请放心,不会弃坑的,再说关注又不会怀孕对吧,更何况关注这个公众号的男女比例 98 : 2. 所有撸过代码都懂项目上线的苦,在上线前,代码就像自己的亲儿子,怎么看都是那么的完美。一上线,就人设崩塌,不停的在心中暗骂 “当时TMD怎么想的”。最近都是在这种状态下维持生活,你们是不是都能隔着屏幕闻到bug的味道? image 即将发布的Go 1.11将加入对go mod的支持,解决了go一直存在的依赖管理的短板。不过这篇文章并不是要介绍go module本身,而是打算说一下go团队和社区之间的冲突——你可以从中看到go team的做事风格,也可以当做是单纯的八卦。 先说一下背景。Go作为Google内部孵化的项目,其对的设计非常符合Google内部的使用场景...阅读全文

博文 2018-08-13 22:35:21 freelang

(转)Go依赖管理机制

载至:https://studygolang.com/articles/9072 无论何种语言,依赖管理都是一个比较复杂的问题。而Go语言中的依赖管理机制目前还是让人比较失望的。在1.6版本之前,官方只有把依赖放在GOPATH中,并没有多版本管理机制;1.6版本(1.5版本是experimental feature)引入vendor机制,是包依赖管理对一次重要尝试。他在Go生态系统中依然是一个热门的争论话题,还没有想到完美的解决方案。 看其它 我们先来看看其它语言怎么解决,例举两种典型的管理方式: Java 开发态,可以通过maven和gradle工具编辑依赖清单列表/脚本,指定依赖库的位置/版本等信息,这些可以帮助你在合适的时间将项目固化到一个可随时随地重复编译发布的状态。这些工具对我来说...阅读全文

博文 2018-08-18 23:34:51 one_zheng

依赖管理工具漫谈--从Maven,Gradle到Go

本文从Maven谈起,分析了Maven的主要思想以及Gradle对Maven的改进,最后谈了下Go语言面临的依赖管理问题。 为什么要有依赖管理工具? 谈依赖管理之前我们先谈谈为什么要有依赖管理工具这东西。 我们学了一种编程语言,然后写了个『Hello World』,然后宣称自己学了一门语言,这时候确实不需要关心依赖问题。 然而,当你要写一个稍微复杂点的应用,那怕就是留言板这样的,需要读写数据库,就需要依赖数据库驱动,就会遇到依赖管理的问题了。 再进一步,你写了一个库,想共享给别人使用,更需要了解依赖管理的问题。 当然,如果项目足够简单,你可以直接将依赖方的源码放置在自己的项目中,或者将依赖库的二进制文件(比如jar,dll)放置在项目的lib里。要提供给别人呢?把二进制包提供下载或者给别人传...阅读全文

MongoDB Web 管理工具 mgweb

# mgweb go语言编写的 mongodb web管理工具 项目使用beego框架实现 ## [](https://github.com/29392964/mgweb#项目依赖)项目依赖 项目基于beego,mgo等项目,使用时需提前安装依赖库 ## [](https://github.com/29392964/mgweb#安装)安装 $ git clone [https://github.com/29392964/mgweb](https://github.com/29392964/mgweb) $ go build $ ./mgweb ## [](https://github.com/29392964/mgweb#相关配置)相关配置 可以在con...阅读全文

Go 打造 Flutter 多版本管理工具:fvm

本文首发于 blog.befovy.com/2019/12/fvm… 周末时间用 Go 语言完成了 Flutter 多版本管理工具的初个版本 fvm v0.1.0。我必须承认,这个版本完全是在造轮子,而且还是和 leoafarias fvm 一模一样。 为什么造轮子 简单说就是有需求:在开发 fijkplayer (一个 Flutter 的媒体播放器)的过程中,我逐渐从开始只有 Android、iOS 的移动端版本,发展到 Flutter 桌面版本。在 fijkplayer 桌面版的开发中,我用的是 go-flutter 为 Flutter 提供桌面支持,go-flutter 默认用的是 flutter beta 版本,而移动端 fijkplayer 用的是 Flutter stable 版...阅读全文

博文 2019-12-09 14:35:15 半岛铁酱

1.golang 语言环境安装

Mac下安装go 基于Homerbrew安装,方便管理跟升级 brew install go 配置路径 vim ~/.bash_profile #export PATH export GOROOT=/usr/local/Cellar/go/1.8.1/libexec export GOBIN=$GOROOT/bin export GOPATH=/Users/antic/www/go export PATH=$PATH:$GOBIN 让配置立即生效 source .bash_profile 查看 go env antic:~ antic$ go env GOARCH="amd64" GOBIN="/usr/local/Cellar/go/1.8.1/libexec/bin" GOEXE="" ...阅读全文

博文 2017-10-23 07:03:27 antic

go也能干大事01安装go开发工具(LiteIDE)

来自tiobe官网2019年的编程语言排名表 2019年编程语言排行榜 go语言位列第16位,比2018年上涨了3位。其他的不敢狂言,但是单单从国内目前至少有5个比较优秀的IT培训机构,都力推go语言,go语言会进去排行榜前十的。2019年我们拭目以待。(但是这个跟我们普通人来,有关系,但是关系不大,关系大的看下文)go也能干大事不是因为这个编程语言排行榜go进入了前20名才出来的,我们之前有一套课程叫SEO也能干大事,也有一套课程叫thinkphp也能干大事,都获得了预期好评,然后由于之前接触了(Electron),这家伙是干嘛的呢?它可以开发桌面软件,最开始版本的时候,我们是用c#开发站群系统的,后来随着客户越来越多,Mac用户多了起来,不断反应,为什么没有Mac端的管理工具。码农就是苦...阅读全文

博文 2019-01-25 15:34:47 fastgolang

工欲善其事,必先利其器——DevOps中如何管理工具包

一、背景作为DevOps交付流水线的开发者,为支持CI/CD中各项任务的自动化,都需要依赖多种包管理工具来下载各种相关的工具,比如针对产生最终交付件的构建过程,就需要在构建流程的第一步,自动地把相关工具,如Curl、wget、Maven、Gradle、npm等等,下载到CI服务器。这些工具的下载,通常都需要依靠对应的公网服务器和包管理工具来支持。而这样通过公网来下载工具,有时会遇到稳定性的问题,也就是所谓的环境问题,导致工具下载失败,进而导致构建任务的失败。因此,我们需要引入新的技术来克服这些问题,保证工具包下载的稳定和可靠。二、工具包管理的痛点——缺乏稳定性通常,我们会使用各种各样的包管理工具来帮助我们下载和管理这些工具包,如Windows上的Chocolatey,Mac/Linux上的H...阅读全文

博文 2020-04-01 17:02:35 JFrogChina

使用glide管理golang依赖包

glide可以每个项目单独管理包, 在项目根目录vendor文件夹下 安装glide go get github.com/Masterminds/glide go install github.com/Masterminds/glide cd $GOPATH/src/github.com/Masterminds/glide go build cp glide /usr/local/bin 基本命令 glide create|init 初始化项目并创建glide.yaml文件. glide get 获取单个包 --all-dependencies 会下载所有关联的依赖包 -s 删除所有版本控制,如.git -v 删除嵌套的vendor glide install 安装包 glide updat...阅读全文

博文 2017-08-28 04:04:54 寺院的研究僧

golang go 包管理工具 go mod的详细介绍 --- 赶紧拥抱 go mod吧,go path的那套东西已经out了。

go mod go官方的module管理工具 原文:https://github.com/googege/blog 用法: 在一个非go path的路径中新建一个项目,然后使用go mod init 就可以初始化一个新的包(要开启这个 export GO111MODULE=on写入.bash_profile即可 win的同学自己找找设置 GO111MODULE的win版本设置方法哈),其实跟github(gitlab都行)用在一起更好 在github上新建一个项目,例如说 test 在本地将这个远程包给clone过来,然后这个文件夹里面就是一个.git 隐藏的文件项目这个就是git的管理文件包 将此包放在远离 go path的文件路径里,然后使用 go mod init 就可以创建一个名为 ...阅读全文

博文 2019-02-16 21:34:44 googege

golang包管理工具dep使用简明攻略

安装 dep需要golang版本在1.9以上go get -u github.com/golang/dep/cmd/dep dep工作流 因为有墙,所以使用之前请先设置命令行代理,梯子自备 export {http,https}_proxy='127.0.0.1:1080' 新建项目 // 项目需要创建在gopath下 cd $GOPATH/src mkdir my-project dep init -v dep init 新项目或还未使用包管理的项目初始化init会分析go文件中import的包并安装,将依赖信息写入Gopkg.toml文件,安装的revision写入Gopkg.lock文件 dep ensure 同步依赖包 一个命令可以完成包的安装缺失的包、卸载无用的包,使代码中的imp...阅读全文

博文 2018-09-18 15:34:46 wind5o

【环境篇】go mod--让人又爱又恨的包管理工具

为什么我们需要包管理 Python有pip,Nodejs有npm。是不是别的语言有包管理工具,所以go就要有?当然不是,来看看下面这段代码: import ( "github.com/TomatoMr/something" ) 这是go引用包的方式,很明显这是个第三方包,那么它在我们本机上具体是怎么被找到的呢?先说说还没有go mod的时候,它是这么找的: 项目根目录下有vendor,那就在vendor下找; vendor找不到包就往GOROOT、$GOPATH找; 以上都找不到,就去网上找,比如"github.com/TomatoMr/something",那就去GitHub上找。 找到包之后就会将它下载到GOPATH下,简单易懂。但这不足够,比如当我对这些包有了版本控制的需求,那这个包管...阅读全文

博文 2020-01-15 01:33:12 wx5e1abbbb0a5e5

govendor依赖包管理工具

govendor是Golang的依赖包管理工具,它的出现可以避免不同用户在clone同一个项目后从外部获取不同依赖库版本的问题。govendor会将项目需要的依赖包添加到项目的vendor目录下,并且该目录中vendor.json文件会保存添加的依赖包的路径等信息。 Golang项目中的go文件在查找依赖的顺序是,先在vendor中查找,vendor没找到然后在GOPATH中查找,都没找到最后在GOROOT中查找。 GitHub地址:https://github.com/kardianos/govendor 一、安装 go get -u github.com/kardianos/govendor 二、初始化 进入你的项目目录下 govendor init 会出现一个vendor文件夹,里面的...阅读全文

博文 2018-12-28 20:34:43 Mr丶易客

关于go get命令的一些简谈

我刚开始接触golang的时候,曾以为go get == git clone,后来发现,是我想的太简单了。 按照官方的说法,go get借助代码管理工具(例如:git,svn,hg等等)从远程拉取代码和依赖包,并且自动完成编译和安装。 可以这么理解,go get获取代码到本地的时候编译器会通览一遍代码,得出需要哪些依赖包。如果本地没有这些依赖包,会从远程拉取这些依赖包到本地。然后完成编译。 go get 命令目前支持的有BitBucket、GitHub、Google Code 和 Launchpad。 go 工具会自动根据不同的域名调用不同的代码管理工具。 对应关系如下: BitBucket (Mercurial Git) GitHub (Git) Google Code Project H...阅读全文

博文 2019-10-30 15:33:00 aside section._1OhGeD

Go 应用开发的管理工具GOP

GOP 是一个专为在 GOPATH 之外的 Go 应用开发的管理工具。当然他肯定不支持 `Go Get `了。GOP 会将所有的依赖项拷贝到 `src/vendor` 目录下,应用本身的源代码也在 `src` 下。 一个通常的使用过程如下: GOPATH 兼容,工程本身作为 GOPATH 多编译目标支持 将您的工程放到全局 GOPATH 之外 情确保您能正常运行 Go 命令,GOP 将依赖 Go 命令编译和测试 工程目录结构示例如下: 可以看出主文件默认放在 src/main 下可以自动识别,当然也可以在 Gop.yml 中指定 工程配置文件,必须存在并且放在和 src 平级。如果你没有定义任何目标,默认的目标将是 src/main, 目标名是工程名。 初始化 Gop 工程...阅读全文

命令行工具skm

![](https://raw.githubusercontent.com/TimothyYe/skm/master/snapshots/skm.png) SKM - 基于Go的SSH key命令行管理器,帮助你方便的管理所有的SSH key ## 功能特性 * 创建,显示与删除SSH密钥对 * 通过别名方便的管理SSH密钥对 * 支持通过use命令,指定默认使用的SSH密钥对 * 方便的备份与恢复所有的SSH密钥对 ## 项目地址 https://github.com/TimothyYe/skm ## 安装方式 ### Homebrew安装 ```bash brew tap timothyye/tap brew install timo...阅读全文

开源项目 2017-10-17 08:10:00

以太坊官方执行协议Go Ethereum

Go Ethereum 是 Ethereum 官方执行协议,也是 Ethereum 协议的三个原始实现之一(另外两个是 C ++ 和 Python )。它是用 Go 编写的,完全开放源代码。 Go Ethereum 可以作为一个名为 Geth 的独立客户端,安装在几乎任何操作系统上;或作为一个库,嵌入到 Go、Android 或 iOS 项目。 **构建** 构建 geth 需要 Go 和 C 编译器。 可以使用最喜欢的包管理器安装。 安装依赖项后,运行 或者构建全套...阅读全文

Go包管理的前世今生

说实话,Golang对一个新人真的挺不友善的,因为一上手要了解的概念。你看人家Java,上来一个项目mvn install一下就完事了,赶紧利落。但是Golang就麻烦了,你得先了解什么是GOPATH。我当年刚接触Golang真正开始做项目的时候,只知道按要求配置环境变量,对GOPATH真正理解可能都是好几个月以后的事情了。说白了,还是因为懒。真正做项目的人,有多少有耐心砍柴磨刀,出现一个东西就研究半天啊,我们只是想要Copy-Paste而已。 但是不得不承认,对于今天讨论的Go包管理的话题,如果你想理解Golang的包管理机制,连GOPATH都不想充分理解一下,那可能真的不需要看这篇文章,下次遇到了照着README一步步老老实实来就行了。照着README文档搞不定怎么办?给项目维护者提BU...阅读全文

博文 2017-09-07 01:30:50 孙健波

go管理多个项目如何书写gopath以及利用脚本控制项目管理路径

项目组织结构 yishiyaonie:go liuhanlin$ pwd /Users/liuhanlin/qiniuwork/go yishiyaonie:go liuhanlin$ ls aone public qbox 所以设置gopath为pwd的内容:/Users/liuhanlin/qiniuwork/go aone为新项目,public为公共的go库,qbox为第三方库。 提倡的写法 yishiyaonie:go liuhanlin$ $GOPATH -bash: /Users/liuhanlin/qiniuwork/go/public:/Users/liuhanlin/qiniuwork/go/qbox/base/qiniu:/Users/liuhanlin/qiniuwor...阅读全文

博文 2016-09-06 17:00:07 guoer9973

Golang多版本管理神器gvm

缘起 最近编译 GRPC 遇到了点坑,编译各种报错,经搜索调研发现用 mod 模式编译时对版本要求1.13及以上,。比如我的 go1.12.4 就无法编译,必须得 go1.13.xx 版本才能编译。为了解决这种尴尬的场景只能再在主机安装个 go1.13.xx 版本,那么有没有什么优雅的方式来实现本机多版本 Golang 版本的管理呢,能很方便的进行不同版本的切换,这也是本文的目的,推荐一款 Go多版本管理神器 gvm,用法类似 Python 的多版本管理工具 pyenv。 简介 gvm,即 Go Version Manager,Go 版本管理器,使用 shell 脚本开发,它可以非常轻量的切换 Go 版本。对比其他语言,通常也有类似的工具,如 NodeJS 的 NVM,Python 的 py...阅读全文

博文 2020-04-30 21:32:43 HonorJoey

golang 依赖、编译、部署实践

最近有个 golang 项目要上线,做了这方面的整理。 版本 使用 go 1.11 及以后的版本,因为自带了 go mod 官方依赖管理工具 新项目如何使用依赖管理 假设项目的包名为 xxapi GO111MODULE=on go mod init xxapi GO111MODULE=on go mod vendor 假设项目的包名为 gitlab-repo.com/group/xxapi GO111MODULE=on go mod init gitlab-repo.com/group/xxapi GO111MODULE=on go mod vendor 编译 GO111MODULE=on go build beego 二进制程序报错 panic: you are in dev mode. ...阅读全文

博文 2018-12-13 13:34:44 akka9

Privoxy | 终端运用privoxy自由选择是否代理拉取Golang包(Mac OS)

21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> 背景: 1.运用包管理工具dep管理引用包 2.有些包需要代理,有包是内部包不能用代理 实现: 1.配置socks5代理(略过) 2.安装privoxy 通过brew install privoxy进行安装 安装成功后,通过brew info privoxy查看安装过后的信息 privoxy: stable 3.0.26 (bottled) ******省略****** To have launchd start privoxy now and restart at login: brew services start privoxy Or, if you don't want/need a backgrou...阅读全文

Mac系统搭建Go语言Sublime Text 2环境配置

Go语言是谷歌自家的编译型语言,旨在不损失性能的前提下降低代码复杂率。其优势是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。 一、安装Golang的SDK 在官网http://golang.org/ 直接下载安装包安装即可。下载pkg格式的最新安装包,直接双击运行,一路按照提示操作即可完成安装。 安装完成后,打开终端,输入go,检测Golang SDK是否安装成功,如下显示,则表示安装成功: 你也可以输入go version 查看你所安装的Golang的版本 二、环境变量配置(GOPATH) GOPATH是用来告诉Golang命令和其他相关工具,在哪里可以找到你系统上的Go包目录。 GOPATH是一个路径列表,类似于PATH的设置: GOPATH=/home/US...阅读全文

博文 2016-03-16 03:00:01 wxd0108

golang 的一个日志模块

日志模块是使用的 github.com/op/go-logging 这里只是对这个模块再次重铸一下 获取依赖包 go get github.com/op/go-logging 直接附上代码 package log import ( "io" "os" "path" logging "github.com/op/go-logging" ) /** *日志级别 */ const ( critical int = iota err_or warning notice info debug ) var ( // 日志管理器 mlog *Logger /** * 日志输出格式 */ logFormat = []string{ `%{shortfunc} ▶ %{level:.4s} %{message...阅读全文

博文 2018-11-08 17:35:04 VIL凌霄

数人云推出的容器管理工具 Crane

Crane 是数人云推出的容器管理工具,它根据  Docker  的原生编排功能,采用轻量化架构,帮助开发者快速搭建 DevOps  环境,体验  Docker  的各种最新功能。 **主要功能**: * Swarm特性:强调了Swarm的通用功能,通过前端界面友好来增强用户体验。 * 项目模板管理: 用户可以将项目保存为模板,其他人可以直接快速部署模板。 * 镜像管理:用户的私有镜像可以公开给其他人。 * 模糊搜索:由后端支持的内存索引服务功能。 * 主机运维:可以查看主机的各种配置和状态,例如核心版本,docker配置,docker镜像以及给定主机的容器信息等等。 * 虚拟网络管理:虚拟网络CRUD实现应用网络隔离和独立的网络规划,无缝对接多种overlay网络方案 * ...阅读全文

godep使用注意

godep是目前golang主流的包管理工具,众多基于go语言的项目如docker, coreos, kubernetes等都是使用godep来解决项目包依赖和版本管理问题。作为命令行工具,godep很简单,常用的基本godep save和godep restore两个命令就够了,因此一般新手参照官方说明都能快速上手。不过有几个小问题经常会让人疑惑,这里做一下记录和解释: godep save的机制 在未指定包名的情况下,godep会自动扫描当前目录所属包中import的所有外部依赖库(非系统库),并查看其是否属于某个代码管理工具(比如git,hg)。若是,则把此库获取路径和当前对应的revision(commit id)记录到当前目录Godeps下的Godeps.json,同时,把不含代码...阅读全文

博文 2017-02-09 14:13:51 wiowei