Go Modulesでエラーが発生
元々Go Modulesを使用せずに開発を進めていて、Go Modulesを導入した段階でエラーが出たので、簡単なことですが、Goはたまにしか触らないため、備忘録として残しておきます。
発生したエラー
以下のような感じでエラーになりました。
build command-line-arguments: cannot find module for path _/Users/kou/Documents/git/...
原因
対象パスのモジュールが見つからないため発生していました。
自分の場合は、Go Modulesを使用するように切り替えた時に、元々相対パスimportしていた部分が原因でした。
解決方法
go.modを修正する
github.com/user-name/project-nameとなるように修正する。
go.mod
module github.com/user-name/project-name
go 1.13
require (
)
プログラムを修正する
相対パスで読み込んでいるところを修正する。
正しくgo.modで設定されている場合は、importは自動補完できるので、自動補完を利用すると、ミスがないし良い。
ディレクトリなどを修正した場合も、importしている部分を削除して、自動補完させれば簡単に修正できる。
package main
import (
// 相対パスはダメ!!
// infrastructure "./infrastructure"
// こんな感じでimportする
// 一度削除して、自動補完しちゃえばラク
"github.com/user-name/project-name/infrastructure"
)
func main() {
...
infrastructure.SampleFunc()
}
コメント