删除使用 go get 安装的包

I ran go get package to download a package before learning that I needed to set my GOPATH otherwise that package sullies my root Go install (I would much prefer to keep my Go install clean and separate core from custom). How do I remove packages installed previously?

转载于:https://stackoverflow.com/questions/13792254/removing-packages-installed-with-go-get

0

3个回答

It's safe to just delete the source directory and compiled package file. Find the source directory under $GOPATH/src and the package file under $GOPATH/pkg/<architecture>, for example: $GOPATH/pkg/windows_amd64.

26
csdnceshi53
Lotus@ On windows: %GOPATH%/pkg/windows_amd64
接近 2 年之前 回复
csdnceshi78
程序go Yes, we do. I hope godep will be good enough.
大约 2 年之前 回复
csdnceshi51
旧行李 coming from npm, we have so much further to go
大约 4 年之前 回复
weixin_41568127
?yb? Just create an alias or a function for it in your shell.
接近 5 年之前 回复
weixin_41568208
北城已荒凉 If it is safe and simple, why is there no go subcommand that does it?
大约 5 年之前 回复
weixin_41568131
10.24 The default value of GOPATH is /usr/lib/go.
接近 6 年之前 回复
csdnceshi72
谁还没个明天 At first I looked for $GOPATH/pkg/architecture/ which didn't exist. Then I realized that what you were referring to was $GOPATH/pkg/{{architecture}}, example $GOPATH/pkg/windows_amd64.
6 年多之前 回复

You can delete the archive files and executable binaries that go install (or go get) produces for a package with go clean -i importpath.... These normally reside under $GOPATH/pkg and $GOPATH/bin, respectively.

Be sure to include ... on the importpath, since it appears that, if a package includes an executable, go clean -i will only remove that and not archive files for subpackages, like gore/gocode in the example.

Source code then needs to be removed manually from $GOPATH/src.

go clean has an -n flag for a dry run that prints what will be run without executing it, so you can be certain (see go help clean). It also has a tempting -r flag to recursively clean dependencies, which you probably don't want to actually use since you'll see from a dry run that it will delete lots of standard library archive files!

A complete example, which you could base a script on if you like, is the following one.

$ go get -u github.com/motemen/gore

$ which gore
/Users/ches/src/go/bin/gore

$ go clean -i -n github.com/motemen/gore...
cd /Users/ches/src/go/src/github.com/motemen/gore
rm -f gore gore.exe gore.test gore.test.exe commands commands.exe commands_test commands_test.exe complete complete.exe complete_test complete_test.exe debug debug.exe helpers_test helpers_test.exe liner liner.exe log log.exe main main.exe node node.exe node_test node_test.exe quickfix quickfix.exe session_test session_test.exe terminal_unix terminal_unix.exe terminal_windows terminal_windows.exe utils utils.exe
rm -f /Users/ches/src/go/bin/gore
cd /Users/ches/src/go/src/github.com/motemen/gore/gocode
rm -f gocode.test gocode.test.exe
rm -f /Users/ches/src/go/pkg/darwin_amd64/github.com/motemen/gore/gocode.a

$ go clean -i github.com/motemen/gore...

$ which gore

$ tree $GOPATH/pkg/darwin_amd64/github.com/motemen/gore
/Users/ches/src/go/pkg/darwin_amd64/github.com/motemen/gore

0 directories, 0 files

# If that empty directory really bugs you...
$ rmdir $GOPATH/pkg/darwin_amd64/github.com/motemen/gore

$ rm -rf $GOPATH/src/github.com/motemen/gore

Note that this information is based on the go tool in Go version 1.5.1.

2
csdnceshi61
derek5. How do you find all the projects dependencies?
11 个月之前 回复
#!/bin/bash

goclean() {
 local pkg=$1; shift || return 1
 local ost
 local cnt
 local scr

 # Clean removes object files from package source directories (ignore error)
 go clean -i $pkg &>/dev/null

 # Set local variables
 [[ "$(uname -m)" == "x86_64" ]] \
 && ost="$(uname)";ost="${ost,,}_amd64" \
 && cnt="${pkg//[^\/]}"

 # Delete the source directory and compiled package directory(ies)
 if (("${#cnt}" == "2")); then
  rm -rf "${GOPATH%%:*}/src/${pkg%/*}"
  rm -rf "${GOPATH%%:*}/pkg/${ost}/${pkg%/*}"
 elif (("${#cnt}" > "2")); then
  rm -rf "${GOPATH%%:*}/src/${pkg%/*/*}"
  rm -rf "${GOPATH%%:*}/pkg/${ost}/${pkg%/*/*}"
 fi

 # Reload the current shell
 source ~/.bashrc
}

Usage:

# Either launch a new terminal and copy `goclean` into the current shell process, 
# or create a shell script and add it to the PATH to enable command invocation with bash.

goclean github.com/your-username/your-repository
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
【go语言 安装包】windows go get安装第三方包的前提条件和步骤
1、首先必须设置环境变量GOPATH的路径 2、安装git for windows 3、将 git 安装目录下的一个路径加载到path D:\Program Files\Git\cmd 4、安装第三方包 进入cmd go get -v github.com/antlinker/go-dirtyfilter ...
go语言学习-linux下golang第三方包的使用
我这里以使用第三方包elastic包为例: 下面是elastic包的git地址:https://github.com/olivere/elastic 找到这个位置,选择要下载的版本,点击对应Package URL: 复制这行令: 在linux 找到go安装的路径: echo $GOROOT cd /usr/local/go go get gopkg.in/olivere/elas...
go包管理工具-glide使用方法及踩坑记录
前言大学以来一直想做一个OJ,终于可以开始,而且是用新学的Go来写,心里还是挺兴奋的。 项目启动,要搭架子,第一件事,当然是选择一个包管理工具。Go的包管理还是挺混乱的,没有一个能像Java的Maven一样足够强大&一统天下,尽管优秀的第三方工具已有十来种,且官方也开始着手开发(快统一江湖吧)。 (ps:虽然包管理很让人糟心,但这并不能影响我对这门语言的热爱)glide安装go get gith
Go安装各种第三方库,包命令
记录Go安装各种第三方库,包命令 安装Mysql的包 在go命令行中 go get github.com/go-sql-driver/mysql 安装goconfig的包 在go命令行中 go get github.com/Unknwon/goconfig 安装Protocol buffer包 go get -u github.com/golang/protobuf/pro...
go get下载第三方包问题的解决
在国内采用go get有时会下载不到一些网站如golang.org的依赖包。 方法1(亲测有效): gopm 代替go 下载第三方依赖包 可以采用gopm从golang.org一些镜像网站上下载。  a). 安装gopm go get -u github.com/gpmgo/gopm b). 用gopm get -g代替go getgopm get  不采用-g参数,会把依赖包下载.ve...
go get 自定义代码包远程导入路径
编写一个可处理HTTP请求的程序。这里无所谓用什么编程语言去实现 将这个处理程序与hypermind.cn/talon这个路径关联在一起,并总是在作为响应的HTML文档的头中写入下面这行内容: &amp;lt;meta name=&quot;go-import&quot; content=&quot;hypermind.cn/talon git https://github.com/hyper-carrot/talon&quot;&amp;gt...
Go Get安装一些第三方库-网络问题
原文链接:https://javasgl.github.io/go-get-golang-x-packages/ 侵权联系删除!go在go get 一些 package时候的会由于众所周知的原因而无法下载。比如在安装 bee的时候有可能会遇到无法下载 golang.org/x/sys/unix 的问题。unrecognized import path "golang.org/x/sys/uni
go get 获取安装go项目
go get
Go开发环境设置,包含第三方包下载使用技巧
一、安装Go环境:①下载地址: 官方下载 国内社区下载 ②下载好对应的版本后,解压放入自己需要的路径这里我放在根目录下. linux: 环境变量设置: 一般放入:(/etc/profile)中 export GOBIN=/go/bin 声明Go可执行文件路径 export GOROOT=/go 声明Go根目录路径 export GOP
[Golang] 第三方包应该如何安装--在线和离线
一 在线安装 采用go get的方式安装import 的时候找不到对应的包看看pkg里面有没有二 离线安装 redis客户端采用git clone的方法安装的话可以用以下方法cd src git clone https://github.com/go-redis/redis.git gopkg.in/redis.v5 git clone https://github.com/bsm/ratelim...
Go学习笔记------Fabric用到的第三方包
cobra viper go-logging goleveldb cobra cobra是一个用于生成命令行程序的库,下面简单介绍一下用法,具体可以参考文档 创建命令: //打印命令 var cmdPrint = &amp;amp;amp;cobra.Command{ Use: &amp;quot;print [string to print]&amp;quot;, //命令名是print ...
无坑安装使用godep(go语言第三方依赖管理)
安装godep 官方的安装文档是使用go get github.com/tools/godep,很可惜,因为“网络”问题会报一个找不到golang.org/x/tools/go/vcs的错误。 而https://github.com/golang/tools 是 golang.org/x/tools的一个镜像,代码是一样的,所以我是如下安装的。 go get github.com/g...
Mysql的Go语言驱动--Go-MySQL-Driver的使用
一、特性 轻量级与快速原生Go语言,没有C绑定,只有纯Go没有不安全的操作(类型转换等)动态处理崩溃的连接动态连接池支持大于16MB的查询完全 sql.RawBytes支持 二、安装 简单地使用 go tool 在shell中把安装包加到你的$GOPATH
Go使用glide管理依赖库
Go使用glide管理依赖库安装$ sudo yum install -y golang git $ sudo mkdir /opt/glide $ cd /opt/glide $ sudo go get github.com/Masterminds/glideexport PATH=$PATH:/opt/glide/bin初始化工程$ mkdir myapp $ cd myapp $ export
IPFS 之包管理器GX
GX 包依赖构建工具包 gx 是基于IPFS系统,依赖内容寻址的开发依赖包管理工具,他的特点是:灵活、强大、简单(注:gx作者认为); 下图是基于gx包引用: 我们可以看到引用依赖中间一大坨:QmNr4E8z9bGTztvHJktp7uQaMdx9p3r9Asrq6eYk7iCh4a就是通过IPFS系统生成依赖报的内容地址唯一值。 这样做 最大的好处就是源码的安全管理,为什么呢? 我...
go get 安装goquery失败解决方法
由于各种问题,国内使用 go get 安装 goquery会失败,错误原因是缺少net依赖包。 其实 golang 在 github 上建立了一个镜像库, https://github.com/golang/net 即是 https://golang.org/x/net 的镜像库 获取 golang.org/x/net 包,其实只需要以下步骤: mkdir -p $GOPATH/src/golan...
Golang学习之采用Glide进行包管理
概述  Golang的包管理工具有很多,本篇幅主要介绍Glide进行包管理。安装及命令介绍➜ tonny@tonny-pc ~ go get github.com/Masterminds/glide命令介绍glide create|init 初始化项目并创建glide.yaml文件. glide get 获取单个包   --all-dependencies 会下载所有关联的依赖包   -s 删除所
govendor 相关命令
首次添加所有外部文件 govendor add +external 删除没用的外部文件 govendor remove -unuse 再次添加外部文件 govendor add code.byted.org/gopkg/mosaic 如果mosaic是下面还有文件夹 需要再次update一次 更新外部文件 govendor update code.byted.org/gopkg/mos...
Go 1.9 之后的sync包
sync.Map go 1.9之后加入了线程安全的map,sync.Map。 源码中的注释为我们说明了sync.Map,是一个并发的map,恒定时间调用loads、stores、deletes。同时被多个goroutines调用是安全的。 在使用时不允许分享这些属性,它可能导致更坏的性能与更坏的安全性,相比较于使用一个普通的map与读写锁配合使用。 零map是有效的并且是空的。 在使用之...
【go语言 安装第三方包】阿里云下go语言如何装第三方包?
1、创建gopath文件夹及子文件夹创建文件 gopath,并且 在 gopath 目录下创建三个子文件夹。 bin pkg srcmkdir gopath cd gopath mkdir bin pkg src2、安装gityum install git3、设置gopath路径vim /etc/profile GOPATH=/root/software/gopath使之生效source /et
从 github 下载 go 语言资源
  www.github.com 是一个开源代码托管网站,从中可以下载所需资源。   我在 win7 下使用 go 语言,当然要先安装 go 语言开发环境,然后去 github 下载安装 git 程序,我下载的是 Git-2.16.2-64-bit.exe ,安装完毕后,进入 win7 命令行程序,键入以下命令 go get github.com/Go-SQL-Driver/MySQL 即可...
go get 兼容公司的gitlab
当拉取公司的gitlab时。通过在username目录下的.gitconfig文件中添加 [url &quot;git@git.example.com:&quot;] insteadOf = https://git.example.com 实现拉取公司内部的gitlab的代码。。。。...
go 依赖管理利器 -- govendor
长期以来,golang 对外部依赖都没有很好的管理方式,只能从 $GOPATH 下查找依赖。这就造成不同用户在安装同一个项目适合可能从外部获取到不同的依赖库版本,同时当无法联网时,无法编译依赖缺失的项目。 自 1.5 版本开始引入 govendor 工具,该工具将项目依赖的外部包放到项目下的 vendor 目录下(对比 nodejs 的 node_modules 目录),并通过 vendor
go 下载非标准库包(部份包被墙了)到本地使用
import ( &quot;golang.org/x/net/html&quot; ) 在使用此包时,会导入失败,因为这不是go标准库中,但是由于域名被墙了所以翻墙可以下载此包,放入你的GOPATH路径下的 “golang.org/x/net”这个目录 具体步骤 下载net包(也可以是你需要的非标准库包) git clone https://github.com/golang/net ...
Golang 环境搭建的小技巧:让 go get 基于 socks5 进行代码包远程导入
令 Golang 开发者最痛苦事情之一便是在国内无法直接使用go get命令更新 golang.org 以及 gopkg.in 的 package。目前,大家使用 socks5 比较多,但是如果不进行设置, go get是无法与 socks5 配合工作的。本文简述一种基本的方法。 0x01 大致了解下原理 本质上来讲,go get命令所做的动作也被叫做代码包远程导入。go get命令可以从任何命令...
Golang包管理工具(三)之dep的使用
更多golang包管理工具参考 - dep的使用 - glide的使用 - govendor的使用 1. dep简介 dep是一个golang项目的包管理工具,一般只需要2-3个命令就可以将go依赖包自动下载并归档到vendor的目录中。dep官网参考:https://github.com/golang/dep 2. dep安装 go get -u ...
GOCV---win10安装教程
  自从学习了GOLANG以后一直想用GOLANG来实现一些以前C实现的功能,在各种尝试后觉得用GO来做个人脸识别这类的一定很不错,说干就干,各种搜索之后发现GOCV是最佳的实现,既能熟悉OPENCV还能锻炼GO的能力,废话不多说,直接进入官网: https://gocv.io/, 因为ubuntu服务器上没有摄像头的缘故,所以只能选择在笔记本上实现,点击到window安装教程:https://...
Go get package安装失败,go get使用代理
golang.org 被qiang了,导致无法安装 go get github.com/PuerkitoBio/goquery 其中依赖其他包,无法安装完成 golang.org下的package 可以使用此软件 更改 本机 http、https 代理 set http_proxy=127.0.0.1:1080 set https_proxy=127.0.0.1...
golint正确的安装方式
很遗憾,百度出来的结果,第一条就是错的,正常的安装方式是: go get -u github.com/golang/lint/golint
golang实践-第三方包为私有库的配置
正常使用了go 1.8一段时间没有发现异常,为了发布便捷,以及后期引入plug-in,开始将大项目分解。涉及到通过vendor引入私有库保存的第三方包。参考网上那些反复转帖的材料,始终无法成功,总是都会出现类似以下的错误:package git.oschina.net/xxx/yyy: unrecognized import path "git.oschina.net/xxx/yyy" (parse
玩一玩 golang 之 etcd 基础操作
etcd的安装 下载源码, 编译运行 git clone https://github.com/coreos/etcd.git $ cd etcd $ ./build $ ./bin/etcd 测试etcd 设置值 $ ETCDCTL_API=3 ./bin/etcdctl put foo bar OK 获取值 $ ETCDCTL_API=3 ./bin/etc...
windows 下 解决 go get 或 dep init 更新不了问题
首先你安装了Shadowsocks 并设置相应的代理,能够访问google等境外网站。(若不会翻墙,可私信我) 打开dos命令行窗口 执行 set http_proxy=127.0.0.1:1080 set https_proxy=127.0.0.1:1080 如下图 这样你就能执行go get 或dep等命令,下载被墙的包了。 以上方法为临时方法,重启电脑就会失效,如果想永久生效需要更改环境...
【Go第三方包代理】Go第三方包代理设置 — GOPROXY
文章目录Go第三方包代理设置 — GOPROXY一、GOPROXY的两个地址1、goproxy.io2、Athens二、GoLand设置三、命令行设置环境变量 Go第三方包代理设置 — GOPROXY 由于国内 墙 的特殊存在,加上现在对翻墙软件的打压,想看看外面的世界越来越难了。 使用 Go 语言的小伙伴们应该也对 Go语言官网 被墙感到苦恼,很多文档和第三方包还得通过一些第三方渠道获得;尤其...
GO get下载困难问题
1.问题描述: 当你使用 go get xxx库时,如果该库使用了 https://golang.org/x/ 的某个东东,就会get 失败。 2.解决方式: 在你的 GOPATH/src 目录下创建 golang.org\x, 例如 我的GOPATH= E:\go , E:\go\src\golang.org\x, github上找 golang.org中 你需要的库,地址: https://g...
golang 引入外部包的三种方式:go get, go module, vendor目录
import "github.com/astaxie/beego" 编译出错解决方案: go get:确保你的GOPATH是工程目录,代码在src目录下,然后在命令提示符中输入:go getgithub.com/astaxie/beego, 然后在本地的src下就生成了要引入的外部包。 注意:在使用GoLand工具时,配置settings-&g...
go 安装包流程
golang 安装包因为墙的关系,需要先从go 在github上的镜像clone下来GitHub 上的go包需要引用到golang.org上的系统包1、git clone https://github.com/golang/sys.git  C:\Users\ZQ-Hehm\go\src\golang.org\x\sys2、go install src\golang.org\x\sys3、go g...
安装 Go 第三方包 go-sqlite3
Mac OS X 1. 通过 Homebrewn 安装: brew install pkgconfig brew install sqlite3 2. 通过 port 安装: sudo port pkgconfig sudo port install sqlite3 3. 如果你在安装后的使用过程遇到 PKG_CONFIG_PATH 有关的问题,可以参考:Mac OS X Lion
Redis数据库介绍、安装、基本用法及go语言操作redis
Redis简介 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。 Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其...
go-tour-zh离线安装
go-tour-zh是一个go语言的教程,可以在线看也可以离线安装。 在线地址为:http://go-tour-zh.appspot.com/welcome/ 下面介绍离线安装的方法。 首先需要下载教程的离线包 使用hg下载,地址为:https://bitbucket.org/mikespook/go-tour-zh 命令为:hg clone https://bitbucket.org/mike
Golang包管理工具(一)之govendor的使用
本文个人博客地址为:http://www.huweihuang.com/article/golang/govendor-usage/ 本文个人博客地址为:https://huweihuang.net/article/golang/govendor-usage/ 更多golang包管理工具参考 golang包管理工具之glide的使用 1. govendor简介 golang工程的依...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 go编程语言 go区块链视频教程