GoPathの変更がちょっと面倒だと感じています。
私はいつも、別のプロジェクトの開発を進めたいなって思った時は、.bash_profileのGopathをわざわざ変更しております。
go getもgopathが正しく設定されていないと、ちゃんとしたところに入ってこないし、
また、正しいGopathに設定しないと、Intellijもソースコード上で赤く光ってしまうため、ちょっと困っております。
まだ、Go言語初心者ですので、自分は、僕はこうしているという方がいればご教授頂きたいです。
ちなみにインストールしているgo管理ツールはgoenvを使用しております。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
goに限った話ではないですが、環境変数をプロジェクトディレクトリに入ったら追加したいとか変えたいとかであれば
direnv
が便利です。
https://github.com/direnv/direnv
上の方が仰っているように『プロジェクトごとに依存環境を管理
したい』とかであればgo moduleでできます
(go version 1.11以降)
投稿2019/05/29 09:54
総合スコア314
0
GOPATHは一か所に固定しておいて、
プロジェクトごとにパッケージ管理を分離するなら
Go1.11以降のGO MODULE機能を使うとよいですよ!
GOPATH配下じゃないところに以下のようなプロジェクトフォルダ構成を作って、
(またはGO111MODULES=on環境変数を設定)
sample1/ ┗┳━sub/ ┃ ┗━impl.go ┗━main.go
impl.go
go
1package sub 2 3var Name = "sub"
main.go
go
1package main 2 3import "example.org/sample1/sub" 4 5func main() { 6 println(sub.Name) 7}
sample1フォルダ直下で以下のコマンドでGo-Moduleを初期化すれば、
カレントフォルダは「example.org/sample1」パッケージルートと等価になります。
shell
1go mod init example.org/sample1 2# あとはrunしたりbuildしたりご自由に。 3go run . 4go build .
また、go mod vender
とすると現在使っているリビジョンをGOPATH配下からカレントフォルダ/vendor
配下にコピーしてくれます。
Intellijのパッケージ探索がGo-Moduleに対応しているかどうかについては私は使っていないのでわかりませんが、Goの静的解析ツール群やコード補完支援サーバーなども順次Go-Module対応が進んでいくはずです。
投稿2019/05/15 03:29
編集2019/05/15 10:14総合スコア3367
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/30 04:35