Невозможно использовать пакет protobuf - PullRequest
2 голосов
/ 02 октября 2019

Похоже, я не могу импортировать этот пакет: github.com/golang/protobuf/proto

Когда я пытаюсь построить или использовать пойти получить я получаю: не удается загрузить github.com/golang/protobuf/proto: модуль github.com/golang/protobuf@latest (v1.3.2) найден, но не содержит пакет github.com/golang/protobuf/proto

Это популярный пакет, я удивлен, что он не работает. https://godoc.org/github.com/golang/protobuf/proto#Marshal

Кто-нибудь сталкивался с этим?

Обновление :

Я просто пытаюсь импортировать это: import ("bytes" "context")"encoding / json" "error" "fmt" "github.com/golang/protobuf/proto")

GoLang не разрешает прото по указанному выше пути ...

Я пытаюсьустановить так: $ go get github.com/golang/protobuf/proto go: поиск github.com/golang/protobuf/proto последней версии go get github.com/golang/protobuf/proto: модуль github.com/golang/protobuf@обновление (v1.3.2) найдено, но не содержит пакета github.com/golang/protobuf/proto

Update2 , не уверен, как этот файл помогает, но вот он:

package main

import (
    "bytes"
    "context"
    "encoding/json"
    "errors"
    "fmt"
    "github.com/golang/protobuf/proto"
    "go_poc/plugins/com_styx_proto"
    "io/ioutil"
    "net/http"
    "time"
)

func init() {
    fmt.Println("styxBotDetect plugin is loaded!")
}

func (r registrable) RegisterHandlers(f func(
    name string,
    handler func(
        context.Context,
        map[string]interface{},
        http.Handler) (http.Handler, error),
)) {
    f(pluginName, r.registerHandlers)
}

func (r registrable) registerHandlers(ctx context.Context, extra map[string]interface{}, handler http.Handler) (http.Handler, error) {
// skipping some lines here

styxRqBytes, err := proto.Marshal(styxRq)
        if err != nil {
            http.Error(w, err.Error(), http.StatusNotAcceptable)
            return
        }

// more code

1 Ответ

2 голосов
/ 02 октября 2019

Оказывается, что-то не так с кешем модуля, поэтому инструмент go не смог получить / обновить зависимости.

В таких случаях очистка кеша модуля (может) поможет:

go clean -modcache
...