Realizeとは
realizeが分からない人はぜひこちらのページをみてください
https://qiita.com/enta0701/items/9f60ad18600acab8c93d
Ralizeでのディレクトリ指定
go言語にはディレクトリ構成のスタンダードがあり、実行ファイルはcmd配下、他のファイルはinternalなどの配下に保存するようです。
参考:https://qiita.com/sueken/items/87093e5941bfbc09bea8
しかし、プロジェクトルートでrealizeを起動したところ、以下のエラーが出てしまいました
$ realize start
[01:09:22][GO_BASE_REST] : Watching 7 file/s 15 folder/s
[01:09:22][GO_BASE_REST] : Install started
[01:09:23][GO_BASE_REST] : Install
build .: cannot find module for path .
なにも設定しなかった場合、go build .
が実行されてモジュールがないと怒られているのかと思い
.realize.yamlの場所を変えようかと思ったのですが、go.modなどもプロジェクトルートに置いてあり、それもrealizeのために移動させるのは少し嫌だったので
以下のように.realize.yamlに設定を追加したところ問題なく動くようになりました。
settings:
legacy:
force: false
interval: 0s
schema:
- name: go_rest
path: .
commands:
build:
status: true
method: go build -o cmd/go_rest/main cmd/go_rest/main.go
run:
status: true
method: ./cmd/go_rest/main
watcher:
extensions:
- go
paths:
- /
ignore:
paths:
- .git
- .realize
- vendor
methodに記入すると、本来のコマンドと置き換えられて実行されるようになり、
上記ではbuildで実行ファイルを作成、runで実行ファイルを起動しています。
なんとなく気持ち悪いので他にもやり方があるのかもしれませんが、私は分からなかったです!
もっといい方法を知っている人がいたら是非教えて欲しいです!