nyagos の依存パッケージである zetamatta/go-texts/mbcs に不具合があったので、それをちゃんと import するよう、go modules を設定してみた。 そのメモ。間違っている箇所があればご指摘歓迎
go-texts 側
go modules を使用するモードに切り替える
set GO111MODULE=on
各パッケージフォルダーで go.mod を作成し、レポジトリへ反映する。これは v0~v1のトップだけではダメのようだ。v2 とかのメジャーバージョンフォルダーにも必要。また、go.mod は go build で更新されるので、そのあとに commit するのも忘れてはいけない。
cd ~/go/src/github.com/zetamatta/go-texts/ go mod init go build git add go.mod cd mbcs go mod init go build git add go.mod git commit -m "add go.mod"
v1.0.1 というタグをつけておく。v1.0.0 ではないのは単に既に同タグが使用済みだったからというだけ
git tag v1.0.1
GitHub にも go.mod とタグを反映しておく。モジュールは別フォルダーに個別にダウンロードされるので、ローカルのパッケージにだけタグがあっても意味がない。
git push git push --tag
go-box 側
今回の不具合ではないが、go-box という依存モジュールは v2 というフォルダーを既に使っていて、そのままビルドするとエラーが発生してしまった。
cd ~/go/src/github.com/zetamatta/go-box go mod init go build git add go.mod cd v2 git mod init go build git add go.mod git commit -m "Add go.mod"
nyagos 本体
cd ~/go/src/github.com/zetamatta/nyagos go mod init go build git add go.mod
- 環境変数 GO111MODULE を
on
にするコードを追加 go get
が必要なくなるので、make get
は何もしないようにする
ところで、これ、そのバージョン以降の最新版という指定をする方法はないんでしょうかねぇ。。。
追記
気になっていた import モジュールの最新化だけど、「Go言語の基礎〜Go 1.11 開発環境構築とパッケージバージョン管理〜 – RE:ENGINES」によると、
go get -u
でいいみたい。