Githubからgopathにパッケージをインストールしたいのですが、これを試してみました。
go get github.com:capotej/groupcache-db-experiment.git
リポジトリは ここ です。
使用法:
go get [-d] [-f] [-t] [-u] [-v] [-fix] [-insecure] [build flags] [packages]
インポートパスで指定されたパッケージとその依存関係をダウンロードします。それから、 'go install'のように、指定されたパッケージをインストールします。
-dフラグは、パッケージをダウンロードした後にgetを停止するように指示します。つまり、パッケージをインストールしないようにgetに指示します。
-fフラグは、-uが設定されている場合にのみ有効で、get -uに、各パッケージがソース管理リポジトリからチェックアウトされていることをインポートパスで暗黙的に確認しないようにします。これは、ソースがオリジナルのローカルフォークの場合に便利です。
-fixフラグは、依存関係を解決したりコードをビルドしたりする前に、ダウンロードしたパッケージに対して修正ツールを実行するようにgetに指示します。
-insecureフラグを使用すると、HTTPなどの安全でない方式を使用してリポジトリから取得し、カスタムドメインを解決できます。慎重に使用してください。
-tフラグは、指定されたパッケージのテストをビルドするために必要なパッケージもダウンロードするようにgetに指示します。
-uフラグは、ネットワークを使用して名前付きパッケージとその依存関係を更新するように指示します。デフォルトでは、getは不足しているパッケージをチェックアウトするためにネットワークを使用しますが、既存のパッケージへの更新を探すためにそれを使用しません。
-vフラグは、詳細な進行状況とデバッグ出力を有効にします。
Getはインストールを制御するためのビルドフラグも受け付けます。 「ビルドヘルプヘルプ」を参照してください。
新しいパッケージをチェックアウトするとき、getはターゲットディレクトリGOPATH/src /を作成します。 GOPATHに複数のエントリが含まれる場合、getは最初のエントリを使用します。詳細については、 'go help gopath'を参照してください。
パッケージをチェックアウトまたは更新するときに、getはローカルにインストールされたバージョンのGoに一致するブランチまたはタグを探します。最も重要な規則は、ローカルインストールがバージョン "go1"を実行している場合、 "go1"という名前のブランチまたはタグを取得することです。そのようなバージョンが存在しない場合は、パッケージのデフォルトのブランチを取得します。
Gitリポジトリをチェックアウトまたは更新すると、リポジトリによって参照されているすべてのgitサブモジュールも更新されます。
ベンダーのディレクトリに格納されているコードをチェックアウトしたり更新したりしないでください。
パッケージの指定の詳細については、「go help packages」を参照してください。
「get get」がダウンロードするソースコードをどのように見つけるかについての詳細は、「go help importpath」を参照してください。
このテキストは、GOPATHを使用してソースコードと依存関係を管理するときのgetの動作について説明しています。代わりにgoコマンドがモジュール対応モードで実行されている場合は、「go help get」と同様に、getのフラグと効果の詳細が変わります。 「go help modules」および「go help module-get」を参照してください。
参照してください:ビルド、インストール、クリーンに行きます。
たとえば、詳細な出力を表示すると、
$ go get -v github.com/capotej/groupcache-db-experiment/...
github.com/capotej/groupcache-db-experiment (download)
github.com/golang/groupcache (download)
github.com/golang/protobuf (download)
github.com/capotej/groupcache-db-experiment/api
github.com/capotej/groupcache-db-experiment/client
github.com/capotej/groupcache-db-experiment/slowdb
github.com/golang/groupcache/consistenthash
github.com/golang/protobuf/proto
github.com/golang/groupcache/lru
github.com/capotej/groupcache-db-experiment/dbserver
github.com/capotej/groupcache-db-experiment/cli
github.com/golang/groupcache/singleflight
github.com/golang/groupcache/groupcachepb
github.com/golang/groupcache
github.com/capotej/groupcache-db-experiment/frontend
$
まず、GOPATHが必要です
$GOPATH
は、その環境変数によって指定されたフォルダー(またはフォルダーのセット)です。これはGoがインストールされている$GOROOT
ディレクトリではないことに注意してください。
export GOPATH=$HOME/gocode
export PATH=$PATH:$GOPATH/bin
アプリケーションのソースとその依存関係を格納するために、コンピュータで~/gocode
パスを使用しました。 GOPATH
ディレクトリには、それらのパッケージのバイナリも格納されます。
次にGo envをチェックしてください。
あなたのシステムは$GOPATH
と$GOROOT
を持っている必要があります。
GOARCH="AMD64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="AMD64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/elpsstu/gocode"
GORACE=""
GOROOT="/home/pravin/go"
GOTOOLDIR="/home/pravin/go/pkg/tool/linux_AMD64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
さて、あなたはdownload go packageを実行します:
go get [-d] [-f] [-fix] [-t] [-u] [build flags] [packages]
ダウンロードを取得し、インポートパスで指定されたパッケージをそれらの依存関係と共にインストールします。詳細は こちら をご覧ください。