"цикл импорта не разрешен" с go install - PullRequest
0 голосов
/ 02 мая 2018

Народ, я не могу этого понять:

Мой код:

src / rtagent / rtagent.go (имеет основной пакет)

src / simplerouter / simplerouter.go (имеет пакет simplerouter)

src / p4 / p4runtime.pb.go (имеет пакет p4)

rtagent.go:

package main
import (
    "fmt"
    "golang.org/x/net/context"
    "google.golang.org/grpc"
    "google.golang.org/grpc/reflection"
    "io"
    "log"
    "net"
    "p4"
    "simplerouter"
    p4_config "p4/config"
)

simplerouter.go

package simplerouter
import (
    "encoding/binary"
    "errors"
    "fmt"
    "p4"
    "p4InfoUtils"
    "strings"
    "unsafe"
)

p4runtime.pb.go

package p4
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import google_protobuf "github.com/golang/protobuf/ptypes/any"
import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
import p4_config "p4/config"
import p41 "p4"
import (
    context "golang.org/x/net/context"
    grpc "google.golang.org/grpc"
)

Я получаю эту ошибку:

go install rtagent
import cycle not allowed
package rtagent
        imports p4
        imports p4

Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 02 мая 2018

Сообщение об ошибке в значительной степени говорит само за себя:

rtagent импортирует p4, что, в свою очередь, импортирует p4 (само по себе). Это не разрешено.

Ваш код также делает это очевидным:

package p4
// <snip>
import p41 "p4"  // <-- importing itself
...