dep 卸载完全指南install.sh、Homebrew 与 pacman 三种安装方式的清理方案【免费下载链接】depGo dependency management tool experiment (deprecated)项目地址: https://gitcode.com/gh_mirrors/de/depdepGo dependency management tool experiment是 Go 官方早期推出的依赖管理工具实验项目已于 2020 年正式废弃并归档官方推荐使用自 Go 1.11 起支持的 Go modules见 README.md 与 docs/introduction.md 中的说明。当你决定卸载 dep 时正确的做法取决于当初的安装方式脚本安装、Homebrew 还是 pacman对应的清理手段完全不同。本文以 docs/uninstalling.md 为主体结合仓库内的 install.sh、docs/installation.md 与相关文档系统讲解三种卸载方式、安装残留的清理以及卸载后的验证方法帮助你在迁移到 Go modules 时干净、彻底地移除 dep。一、卸载前先确认 dep 是如何安装的dep 本身是一个独立的命令行二进制文件不依赖守护进程、注册服务或全局配置文件因此卸载的核心动作就是删除对应的可执行文件。但删除哪一个文件、用哪个包管理器删除取决于安装路径。官方文档将卸载场景划分为三类每类对应一种安装途径安装方式平台卸载方式install.sh脚本预编译二进制Linux / macOS / Windows直接删除二进制文件HomebrewmacOSbrew uninstall deppacmanArch Linuxpacman -R dep动手之前可以先确认 dep 的实际安装位置与版本$ which dep $ dep version其中dep version会输出版本、构建日期、git hash、Go 版本与平台信息其实现位于 cmd/dep/version.go。which dep的输出路径直接决定了你该删哪个文件。二、通过install.sh安装Linux 与 macOS 直接删除二进制如果你当初使用install.sh脚本安装 dep那么卸载非常简单——直接删除安装的二进制文件即可rm是官方文档明确推荐的唯一卸载动作。$ rm $GOPATH/bin/dep为什么可以放心地直接删从仓库根目录的 install.sh 脚本可以看到该脚本所做的全部工作就是通过uname识别操作系统与 CPU 架构initArch/initOS见 install.sh确定安装目录默认使用go env GOPATH推导出$GOPATH/binfindGoBinDirectory见 install.sh从 GitHub Releases 下载预编译的dep-os-arch压缩二进制chmod x后移动到$INSTALL_DIRECTORY/dep见 install.sh。整个过程只产生一个独立的可执行文件没有任何共享库、配置目录或后台服务所以删除该文件即可完成卸载。若当初通过INSTALL_DIRECTORY环境变量指定了自定义安装目录默认值为$GOPATH/bin见 install.sh 与 install.sh请按实际目录删除例如$ rm /自定义目录/dep三、通过install.sh安装Windows 平台删除dep.exe在 Windows 上install.sh安装的是$GOPATH/bin/dep.exe。脚本会为二进制名称追加.exe后缀见 install.sh因此卸载时删除该文件即可$ rm $GOPATH/bin/dep.exe需要注意的是install.sh对 Windows 的处理兼容了 Cygwin / MSYS / MinGW 环境OS_CYGWIN1时会将 GOPATH 通过cygpath转换为 sh 兼容路径见 install.sh 与 install.sh。如果你是在 Git Bash、MSYS2 等模拟环境下安装的删除时同样需要让 shell 能正确解析$GOPATH或者直接使用 Windows 资源管理器定位到%GOPATH%\bin\dep.exe删除。四、macOS通过 Homebrew 卸载如果你当初是通过 Homebrew 安装的 dep即执行过brew install dep参见 docs/installation.md 与 README.md 中的 macOS 安装说明那么不要手动删除二进制而是使用 Homebrew 自身来卸载$ brew uninstall dep这是官方文档明确建议的方式。使用包管理器卸载的好处是brew会同步维护自身的元数据与软链接记录避免出现二进制已删但 brew 仍认为已安装的状态不一致。卸载后可以用brew list | grep dep验证包是否已被移除。五、Arch Linux通过 pacman 卸载在 Arch Linux 上安装 dep 使用的是pacman -S dep见 docs/installation.md对应地卸载也交给 pacman 处理$ pacman -R dep该命令会移除 dep 软件包及其在系统中注册的文件清单。若希望连包的配置文件一并清除可考虑pacman -Rn dep-n选项会删除包相关的配置文件不过 dep 自身并不在系统层面写入配置文件通常-R已足够需要精确到文件级别验证时可使用pacman -Ql dep先列出该包安装的全部文件。六、从源码安装go get/go install的情况docs/uninstalling.md未单独覆盖从源码编译安装的场景但 docs/installation.md 记录了两种源码安装路径go get -u github.com/golang/dep/cmd/dep开发用途与go install -ldflags-X main.version$DEP_LATEST ./cmd/dep按发布版本安装。按照 Go 工具链的默认行为这两种方式编译出的可执行文件同样会被安装到$GOPATH/bin或$GOBIN因此可以推断其卸载方式与脚本安装一致——直接删除该二进制文件即可。如果记不清当初用的哪种方式用which dep定位真实路径后删除是最稳妥的兜底做法。七、卸载二进制之后清理项目残留与本地缓存删除二进制只是移除了 dep 这个工具本身。如果项目不再需要 dep还应按需清理以下几类残留它们分属项目文件与全局缓存两个层面1. 项目内文件dep 会在项目根目录生成Gopkg.toml声明依赖约束的清单文件、Gopkg.lock锁定具体版本的锁文件以及vendor/目录。这些是 dep 的工作产物若项目已切换到 Go modules可删除Gopkg.toml、Gopkg.lock并让vendor交由 Go modules 重新管理。关于这些文件的语义可参考 docs/Gopkg.toml.md 与 docs/Gopkg.lock.md。2. 本地缓存目录dep 在磁盘上维护一份纯净的上游源码克隆默认位于$GOPATH/pkg/dep参见 docs/glossary.md 中 Local cache 词条也可以通过DEPCACHEDIR环境变量指定自定义位置见 docs/env-vars.md。卸载 dep 后这份缓存不再有用途可整体删除以回收磁盘空间。缓存目录中还会出现两个值得了解的文件sm.lockdep 用来保证同一时间只有一个进程操作本地缓存的锁文件见 docs/glossary.md 中 Cache lock 词条删掉缓存目录后它自然也不存在bolt-v1.db启用元数据缓存后生成的内置数据库文件由DEPCACHEAGE控制启用见 docs/env-vars.md。官方文档明确说明该文件可以安全删除需要时 dep 会自动重建。3. 环境变量如果你在 shell 配置如.bashrc、.zshrc中设置过DEPCACHEDIR、DEPCACHEAGE、DEPPROJECTROOT、DEPNOLOCK等 dep 相关变量含义详见 docs/env-vars.md卸载后也应一并移除避免残留变量干扰其他工具。八、卸载后的验证完成上述步骤后可通过以下方式确认卸载成功$ which dep # 应无输出或提示 command not found $ dep version # 应提示命令不存在对于包管理器安装的场景还需确认包管理器的状态一致例如brew list dep无结果、pacman -Q dep返回未安装。若项目中仍留有Gopkg.toml/Gopkg.lock且你想彻底脱离 dep请同步完成 docs/migrating.md 中记录的迁移流程让项目平滑过渡到 Go modulesGo 1.11 起官方支持详见 README.md 中的弃用说明。如此无论是二进制、包管理器元数据、项目文件还是本地缓存dep 都将被完整、干净地移除。【免费下载链接】depGo dependency management tool experiment (deprecated)项目地址: https://gitcode.com/gh_mirrors/de/dep创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考