golang開発をする中で公開する予定のない私的なライブラリ(パッケージ)をどう扱うか迷っています。
以前は適当なフォルダにまとめておいて相対パスで読み込んでいましたが、modulesで管理するようになってからはプロジェクト下に置く必要が出てきて使うものを都度コピペしていました。
プロジェクトごとに微妙に違う似たようなパッケージが生産され、そろそろ管理できなそうなのでGithubのプライベートリポジトリで管理する方法を試します。
プライベートリポジトリの作成
2019年1月に無料でいくらでも作れるようになったようです。
アカウント自体も簡単に作れるので適当なリポジトリを作ってみます。
メニューの「New Repository」から作成ページに移ります。
名前を付けて「Private」を選択するだけで作成可能です。
今回はREADMEと.gitignoreの自動作成も選択しておきました。
作業用の場所でgit clone https://~~
をしてUsernameとPasswordを入力して持ってきたらプログラミング開始です。
ユーザ情報の入力を省略する
gitのやり取りでいちいち入力するのも面倒です。
私は Git for Windows を使っていますが、最初にプライベートリポジトリをクローンしたときに入力を要求されず成功してアレ?となりました。
なにかの機会に資格情報マネージャーとやらに保存されていたようです。
なんとなく気持ち悪いのでこれは削除(別にそのままでも問題はないと思う)。
credential.helper
を使うのもいいけど、指定したものだけ管理したいので~/.netrc
(Windowsだと~/_netrc
)にgithub.comの情報を書きました。
go modules
パッケージ内でサードパーティーパッケージを使うだろうからgithubに合わせてmoduleを作っておきます。
> go mod init github.com/narumium/test
コミット前には go mod tidy
で整理することも忘れないようにする。
とりあえずこれで運用してみて問題がありそうなら追記します。