質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

2回答

1435閲覧

Goのパッケージ管理について

yoppy0066

総合スコア293

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2016/12/09 14:00

編集2016/12/10 05:16

現在、以下の前提で開発しようかと考えています。
・2人で開発
・それぞれのローカルPCで開発してgitでコード管理
・サードパーティ製のパッケージの使用

そこで疑問なのですが、Goでは
$GOPATH以下に以下のように複数のプロジェクトやパッケージを配置させるかと思いますが、

$HOME/go/src/project1(package1を使用) $HOME/go/src/project2(package1とpackage2を使用) $HOME/go/src/package1 $HOME/go/src/package2

※package1とpackage2は「go get」コマンドで取得したもの

このような場合に、package1とpackage2はGit上ではどのように管理すればよいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

intelf___

2016/12/10 00:51

主語を省略しすぎていて推測しかできません。例:「gitなどで管理する場合は」→管理する対象はリモートリポジトリから取得したパッケージか自作パッケージか、また誰(自分か第三者か)が管理するのかがはっきりしません。ついでに、一文が長すぎて読みづらいのである程度分けてほしいです。
guest

回答2

0

解決後になりますが、いちおう以下を使用することでやりたいことができました
direnv : ディレクトリ単位で環境変数を設定できるツール
glide : プロジェクト単位でパッケージを管理できるツール

投稿2016/12/12 06:19

yoppy0066

総合スコア293

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

go getでパッケージを取得するとき、関連パッケージも自動的に取得してくれます。
二人のローカル上でpackage1, 2をgo getで取得しておき、自作パッケージをgithubなどにプッシュするときにはimport部分に書いておけば自作パッケージをgo getすれば関連パッケージも自動的に取得されます。

github自体gitでバージョン管理がされているので、ローカル上で改めてgitで管理をする必要はないです。
gitのコミット対象からサードパーティー製のパッケージを外しましょう。

投稿2016/12/10 05:33

intelf___

総合スコア868

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoppy0066

2016/12/10 05:39

ありがとうございます。 go getをそれぞれ実行する必要があるのかというのが疑問でした。 (1人がgo getしたらそのパッケージをもう1人に伝えないといけないため) そのあたりは別途go getするshellファイル等を管理する形になるでしょうか?
intelf___

2016/12/10 06:56

もしローカルにパッケージを追加せずにimportに変更を加えたとして、このパッケージがありません、みたいなエラーが出るのでそれをgo getで取得するようにしたらいいでしょう。 あまりにも多い場合はシェルスクリプトで渡したほうが良いかもしれませんが。
yoppy0066

2016/12/10 09:37

ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問