Closed4

goでimport cyle not allowedが発生

podhmopodhmo

エラーメッセージの読み方を把握したい。

.
├── README.md
├── go.mod
├── x
│   └── x.go
├── y
│   └── y.go
└── z
    └── z.go

4 directories, 5 files

ここで

$ go vet ./z/
package m/z
        imports m/y
        imports m/x
        imports m/z: import cycle not allowed

このときのgo.mod

module m

go 1.19
podhmopodhmo

importの関係は以下のようになっている

$ cat **/*.go
package x

import "m/z"


package y

import _ "m/x"



package z

import _ "m/y"
podhmopodhmo

従って素直にこれは z -> y -> x と読み x package上で zをimportしたという意味になる。

$ go vet ./z/
package m/z
        imports m/y
        imports m/x
        imports m/z: import cycle not allowed
このスクラップは2023/07/03にクローズされました