簡體   English   中英

在本地目錄中安裝包

[英]Installing packages in a local directory

在本地目錄中安裝軟件包( go get...的最佳實踐)是什么?

示例:我想嘗試使用Revel Web框架,但我不想在/usr/local/go混淆我的go安裝。

通常我會說sudo go get github.com/robfig/revel上寫的sudo go get github.com/robfig/revel ,但是它會安裝在/usr/local/go/src/pkg/...

是否有一種簡單的方法可以說(例如) go get --local ...並將包放在當前(子)目錄中?

要擴展keks答案,您可以將.bashrc更新為這樣

export GOROOT=/usr/local/go
export GOPATH=~/workspace/me/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

現在,使用go get安裝的所有軟件包都與go分發版本分開。

您可以導出env變量GOPATH 對我來說是~/local/lib/go 這個文件夾有子文件夾binpkgsrc ,所以就像/usr/local/go 然后, go -tool將自動下載,構建和安裝包到此目錄中。

您可能需要考慮使用Go Version Manager(gvm)

除了輕松切換Go版本之外,它還允許您在pkgsets (“工作區”)之間切換。

首先,您創建一個集合

gvm pkgset create myproject

然后你用它

gvm pkgset use myproject

奇跡般有效。

在現代模塊啟用go(在1.11中介紹)中,您可以使用gobin程序和GOBIN env var指定二進制文件的目標:

GOBIN=./local gobin github.com/robfig/revel

gobin的安裝如下:

GO111MODULE=off go get -u github.com/myitcv/gobin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM