githubからgopathにパッケージをインストールしたいのですが、これを試しました:
go get github.com:capotej/groupcache-db-experiment.git
リポジトリはこちらです。
githubからgopathにパッケージをインストールしたいのですが、これを試しました:
go get github.com:capotej/groupcache-db-experiment.git
リポジトリはこちらです。
回答:
使用法:
go get [-d] [-f] [-t] [-u] [-v] [-fix] [-insecure] [build flags] [packages]
Getは、依存関係とともに、インポートパスで指定されたパッケージをダウンロードします。次に、「go install」のように、指定されたパッケージをインストールします。
-dフラグは、パッケージのダウンロード後に停止するように指示します。つまり、パッケージをインストールしないようにgetに指示します。
-fフラグは、-uが設定されている場合にのみ有効であり、インポートパスによって暗黙的に指定されたソース管理リポジトリから各パッケージがチェックアウトされていることをget -uが確認しないようにします。これは、ソースがオリジナルのローカルフォークである場合に役立ちます。
-fixフラグは、依存関係を解決したりコードをビルドしたりする前に、ダウンロードしたパッケージに対して修正ツールを実行するように指示します。
-insecureフラグを指定すると、HTTPなどの安全でないスキームを使用して、リポジトリーからのフェッチとカスタムドメインの解決が可能になります。注意して使用してください。
-tフラグは、指定されたパッケージのテストをビルドするために必要なパッケージもダウンロードするように指示します。
-uフラグは、ネットワークを使用して、指定されたパッケージとその依存関係を更新するように指示します。デフォルトでは、getはネットワークを使用して欠落しているパッケージをチェックアウトしますが、既存のパッケージの更新を探すためには使用しません。
-vフラグは、詳細な進行状況とデバッグ出力を有効にします。
Getは、インストールを制御するためのビルドフラグも受け入れます。「go help build」を参照してください。
新しいパッケージをチェックアウトすると、getはターゲットディレクトリGOPATH / src /を作成します。GOPATHに複数のエントリが含まれている場合、getは最初のエントリを使用します。詳細については、「go help gopath」を参照してください。
パッケージをチェックアウトまたは更新するとき、getはローカルにインストールされたバージョンのGoと一致するブランチまたはタグを探します。最も重要なルールは、ローカルインストールがバージョン「go1」を実行している場合、getが「go1」という名前のブランチまたはタグを検索することです。そのようなバージョンが存在しない場合は、パッケージのデフォルトのブランチを取得します。
go getがGitリポジトリをチェックアウトまたは更新すると、リポジトリによって参照されるすべてのgitサブモジュールも更新されます。
Getは、ベンダーディレクトリに格納されているコードをチェックアウトまたは更新しません。
パッケージの指定の詳細については、「go help packages」を参照してください。
「go 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
$
package github.com/coreos/go-iptables.git: invalid version control suffix in github.com/ path
)は.git
Github URLからサフィックスを削除することでした。
-v
ますか?
-v
コマンドはそのリストの中で参照されていませんが笑FML ...確かにそれは意味冗長カントー
go get
か?
まず、GOPATHが必要です
の $GOPATH
その環境変数で指定したフォルダ(またはフォルダのセット)です。これは$GOROOT
Goがインストールされているディレクトリではないことに注意してください。
export GOPATH=$HOME/gocode
export PATH=$PATH:$GOPATH/bin
~/gocode
コンピューターのパスを使用して、アプリケーションのソースとその依存関係を保存しました。GOPATH
ディレクトリには、そのパッケージのバイナリを格納します。
次に、環境を確認します
あなたのシステムが持っている必要があります$GOPATH
と$GOROOT
、以下の、私のEnvです。
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"
次に、goパッケージのダウンロードを実行します。
go get [-d] [-f] [-fix] [-t] [-u] [build flags] [packages]
インポートパスで指定されたパッケージとその依存関係をダウンロードしてインストールします。詳細については、あなたが見ることができ、ここで。
go get
のでgithub.com:capotej/groupcache-db-experiment.git
、違法ではありません。
.git
行の最後に:go get github.com:capotej/groupcache-db-experiment