問題タブ [gopath]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - $GOPATH に関するいくつかの質問
私は新しい golang 開発者です$GOPATH
が、プロジェクトのルートに環境変数を設定する必要があるのはなぜでしょうか。
同時に複数のプロジェクトに取り組んでいる場合は、環境変数を毎回$GOPATH
別の場所を指すように再設定する必要があります。
私のセットアップでは、に$GOPATH
設定しました/Users/Projects/go/lib
。これは、私のすべての golang プロジェクトの汎用ディレクトリです。
明確にするために、プロジェクトデータは次の場所に配置されます/Users/Projects/go/<Project Name>
とにかく$GOPATH
(私が知る限り)すべてがサードパーティのライブラリをインストールするために使用されている$GOPATH
場合、すべてのプロジェクトに1つのディレクトリを用意するのは安全ではないので、必要なすべてのサードパーティのライブラリは同じ lib ディレクトリにインストールされ、プロジェクトをコンパイルするときはいつでも、必要なライブラリを使用するだけです。
これは実際には悪いですか?なんで?
windows - vendor ディレクトリを無視する
vendor ディレクトリについて読んだすべてのことから、ディレクトリがあれば次のことが理解できます。
そして、依存関係をそこに置きます(私はgodepsを使用しています)。実行するときgo run
は、最初にそのディレクトリにチェックインする必要があります。
持っている Docker イメージでコードを実行すると、問題なく動作します。ただし、Windows マシンで同じコードを実行しようとすると、go は単にvendor/
ディレクトリを無視し、依存関係を見つけることができません。
私は何を間違っていますか?
私がやろうとしたときの出力は次のとおりです。
このディレクトリにはディレクトリvendor/
が存在します。
私が実行する正確なコマンド(Windows cmd.exeで)
go - $GOROOT と $GOPATH からパッケージが見つかりません
go build コマンドを実行しようとした後に発生するエラーのごく一部
環境出力に行く
GOPATH
設定されてGOROOT
いますが、エラーなしでコマンドを実行することはできません。gopath と goroot を変更してホームディレクトリとカスタムディレクトリにインストールしようとしましたが、それでもうまくいきません。これを解決する方法はありますか?
http - go test import エラー
を使用してgo ソースコードgit clone https://go.googlesource.com/go
を自分の~/godev/
ディレクトリに複製しました。
私の $GOPATH は~/gocode
インストーラーを使用してgoをインストールしました
cd して~/godev/go/src/net/http
を実行するとgo test
、次のエラーが発生します。
hereの指示に従い、cd $GOPATH/src
続いてを実行してcp -R /usr/local/go/src/vendor/golang_org .
も、次のエラーが発生します。
h2_bundle.go:47:2: ディレクトリ内のコード ~/gocode/src/golang_org/x/net/idna はインポート "golang.org/x/net/idna" を予期しています transport.go:32:2: パッケージ "golang_org が見つかりません/x/net/proxy" のいずれか: /usr/local/go/src/golang_org/x/net/proxy ($GOROOT から) ~/gocode/src/golang_org/x/net/proxy ($GOPATH から) transfer.go:14:2: 内部パッケージの使用は許可されていません
確かに ~/gocode/src/golang_org/x/net 以下にプロキシ パッケージがないのですが、それをどうにか直しても他の 2 つのエラーがわかりません。