
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 中的說明。當(dāng)你決定卸載 dep 時正確的做法取決于當(dāng)初的安裝方式腳本安裝、Homebrew 還是 pacman對應(yīng)的清理手段完全不同。本文以 docs/uninstalling.md 為主體結(jié)合倉庫內(nèi)的 install.sh、docs/installation.md 與相關(guān)文檔系統(tǒng)講解三種卸載方式、安裝殘留的清理以及卸載后的驗證方法幫助你在遷移到 Go modules 時干凈、徹底地移除 dep。一、卸載前先確認(rèn) dep 是如何安裝的dep 本身是一個獨立的命令行二進制文件不依賴守護進程、注冊服務(wù)或全局配置文件因此卸載的核心動作就是刪除對應(yīng)的可執(zhí)行文件。但刪除哪一個文件、用哪個包管理器刪除取決于安裝路徑。官方文檔將卸載場景劃分為三類每類對應(yīng)一種安裝途徑安裝方式平臺卸載方式install.sh腳本預(yù)編譯二進制Linux / macOS / Windows直接刪除二進制文件HomebrewmacOSbrew uninstall deppacmanArch Linuxpacman -R dep動手之前可以先確認(rèn) dep 的實際安裝位置與版本$ which dep $ dep version其中dep version會輸出版本、構(gòu)建日期、git hash、Go 版本與平臺信息其實現(xiàn)位于 cmd/dep/version.go。which dep的輸出路徑直接決定了你該刪哪個文件。二、通過install.sh安裝Linux 與 macOS 直接刪除二進制如果你當(dāng)初使用install.sh腳本安裝 dep那么卸載非常簡單——直接刪除安裝的二進制文件即可rm是官方文檔明確推薦的唯一卸載動作。$ rm $GOPATH/bin/dep為什么可以放心地直接刪從倉庫根目錄的 install.sh 腳本可以看到該腳本所做的全部工作就是通過uname識別操作系統(tǒng)與 CPU 架構(gòu)initArch/initOS見 install.sh確定安裝目錄默認(rèn)使用go env GOPATH推導(dǎo)出$GOPATH/binfindGoBinDirectory見 install.sh從 GitHub Releases 下載預(yù)編譯的dep-os-arch壓縮二進制chmod x后移動到$INSTALL_DIRECTORY/dep見 install.sh。整個過程只產(chǎn)生一個獨立的可執(zhí)行文件沒有任何共享庫、配置目錄或后臺服務(wù)所以刪除該文件即可完成卸載。若當(dāng)初通過INSTALL_DIRECTORY環(huán)境變量指定了自定義安裝目錄默認(rèn)值為$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 環(huán)境OS_CYGWIN1時會將 GOPATH 通過cygpath轉(zhuǎn)換為 sh 兼容路徑見 install.sh 與 install.sh。如果你是在 Git Bash、MSYS2 等模擬環(huán)境下安裝的刪除時同樣需要讓 shell 能正確解析$GOPATH或者直接使用 Windows 資源管理器定位到%GOPATH%\bin\dep.exe刪除。四、macOS通過 Homebrew 卸載如果你當(dāng)初是通過 Homebrew 安裝的 dep即執(zhí)行過brew install dep參見 docs/installation.md 與 README.md 中的 macOS 安裝說明那么不要手動刪除二進制而是使用 Homebrew 自身來卸載$ brew uninstall dep這是官方文檔明確建議的方式。使用包管理器卸載的好處是brew會同步維護自身的元數(shù)據(jù)與軟鏈接記錄避免出現(xiàn)二進制已刪但 brew 仍認(rèn)為已安裝的狀態(tài)不一致。卸載后可以用brew list | grep dep驗證包是否已被移除。五、Arch Linux通過 pacman 卸載在 Arch Linux 上安裝 dep 使用的是pacman -S dep見 docs/installation.md對應(yīng)地卸載也交給 pacman 處理$ pacman -R dep該命令會移除 dep 軟件包及其在系統(tǒng)中注冊的文件清單。若希望連包的配置文件一并清除可考慮pacman -Rn dep-n選項會刪除包相關(guān)的配置文件不過 dep 自身并不在系統(tǒng)層面寫入配置文件通常-R已足夠需要精確到文件級別驗證時可使用pacman -Ql dep先列出該包安裝的全部文件。六、從源碼安裝go get/go install的情況docs/uninstalling.md未單獨覆蓋從源碼編譯安裝的場景但 docs/installation.md 記錄了兩種源碼安裝路徑go get -u github.com/golang/dep/cmd/dep開發(fā)用途與go install -ldflags-X main.version$DEP_LATEST ./cmd/dep按發(fā)布版本安裝。按照 Go 工具鏈的默認(rèn)行為這兩種方式編譯出的可執(zhí)行文件同樣會被安裝到$GOPATH/bin或$GOBIN因此可以推斷其卸載方式與腳本安裝一致——直接刪除該二進制文件即可。如果記不清當(dāng)初用的哪種方式用which dep定位真實路徑后刪除是最穩(wěn)妥的兜底做法。七、卸載二進制之后清理項目殘留與本地緩存刪除二進制只是移除了 dep 這個工具本身。如果項目不再需要 dep還應(yīng)按需清理以下幾類殘留它們分屬項目文件與全局緩存兩個層面1. 項目內(nèi)文件dep 會在項目根目錄生成Gopkg.toml聲明依賴約束的清單文件、Gopkg.lock鎖定具體版本的鎖文件以及vendor/目錄。這些是 dep 的工作產(chǎn)物若項目已切換到 Go modules可刪除Gopkg.toml、Gopkg.lock并讓vendor交由 Go modules 重新管理。關(guān)于這些文件的語義可參考 docs/Gopkg.toml.md 與 docs/Gopkg.lock.md。2. 本地緩存目錄dep 在磁盤上維護一份純凈的上游源碼克隆默認(rèn)位于$GOPATH/pkg/dep參見 docs/glossary.md 中 Local cache 詞條也可以通過DEPCACHEDIR環(huán)境變量指定自定義位置見 docs/env-vars.md。卸載 dep 后這份緩存不再有用途可整體刪除以回收磁盤空間。緩存目錄中還會出現(xiàn)兩個值得了解的文件sm.lockdep 用來保證同一時間只有一個進程操作本地緩存的鎖文件見 docs/glossary.md 中 Cache lock 詞條刪掉緩存目錄后它自然也不存在bolt-v1.db啟用元數(shù)據(jù)緩存后生成的內(nèi)置數(shù)據(jù)庫文件由DEPCACHEAGE控制啟用見 docs/env-vars.md。官方文檔明確說明該文件可以安全刪除需要時 dep 會自動重建。3. 環(huán)境變量如果你在 shell 配置如.bashrc、.zshrc中設(shè)置過DEPCACHEDIR、DEPCACHEAGE、DEPPROJECTROOT、DEPNOLOCK等 dep 相關(guān)變量含義詳見 docs/env-vars.md卸載后也應(yīng)一并移除避免殘留變量干擾其他工具。八、卸載后的驗證完成上述步驟后可通過以下方式確認(rèn)卸載成功$ which dep # 應(yīng)無輸出或提示 command not found $ dep version # 應(yīng)提示命令不存在對于包管理器安裝的場景還需確認(rèn)包管理器的狀態(tài)一致例如brew list dep無結(jié)果、pacman -Q dep返回未安裝。若項目中仍留有Gopkg.toml/Gopkg.lock且你想徹底脫離 dep請同步完成 docs/migrating.md 中記錄的遷移流程讓項目平滑過渡到 Go modulesGo 1.11 起官方支持詳見 README.md 中的棄用說明。如此無論是二進制、包管理器元數(shù)據(jù)、項目文件還是本地緩存dep 都將被完整、干凈地移除。【免費下載鏈接】depGo dependency management tool experiment (deprecated)項目地址: https://gitcode.com/gh_mirrors/de/dep創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考