Golang安装google.golang.org/protobuf/cmd/protoc-gen-go@v1.28失败问题求助
Golang安装google.golang.org/protobuf/cmd/protoc-gen-go@v1.28失败问题求助 大家好,我一直在努力寻找这个命令无法正常工作的原因。我遇到了以下错误。非常感谢任何帮助,谢谢。
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/compiler/protogen/protogen.go:14:2: package bufio is not in GOROOT (/usr/local/go/src/bufio)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/compiler/protogen/protogen.go:15:2: package bytes is not in GOROOT (/usr/local/go/src/bytes)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/impl/legacy_file.go:9:2: package compress/gzip is not in GOROOT (/usr/local/go/src/compress/gzip)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/detrand/rand.go:13:2: package encoding/binary is not in GOROOT (/usr/local/go/src/encoding/binary)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/impl/legacy_export.go:9:2: package encoding/json is not in GOROOT (/usr/local/go/src/encoding/json)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/cmd/protoc-gen-go/main.go:13:2: package errors is not in GOROOT (/usr/local/go/src/errors)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/cmd/protoc-gen-go/main.go:14:2: package flag is not in GOROOT (/usr/local/go/src/flag)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/cmd/protoc-gen-go/main.go:15:2: package fmt is not in GOROOT (/usr/local/go/src/fmt)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/cmd/protoc-gen-go/internal_gengo/main.go:10:2: package go/ast is not in GOROOT (/usr/local/go/src/go/ast)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/cmd/protoc-gen-go/internal_gengo/main.go:11:2: package go/parser is not in GOROOT (/usr/local/go/src/go/parser)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/compiler/protogen/protogen.go:19:2: package go/printer is not in GOROOT (/usr/local/go/src/go/printer)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/cmd/protoc-gen-go/internal_gengo/main.go:12:2: package go/token is not in GOROOT (/usr/local/go/src/go/token)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/compiler/protogen/protogen.go:21:2: package go/types is not in GOROOT (/usr/local/go/src/go/types)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/impl/legacy_export.go:10:2: package hash/crc32 is not in GOROOT (/usr/local/go/src/hash/crc32)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/detrand/rand.go:14:2: package hash/fnv is not in GOROOT (/usr/local/go/src/hash/fnv)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/encoding/protowire/wire.go:13:2: package io is not in GOROOT (/usr/local/go/src/io)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/impl/legacy_file.go:10:2: package io/ioutil is not in GOROOT (/usr/local/go/src/io/ioutil)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/encoding/protowire/wire.go:14:2: package math is not in GOROOT (/usr/local/go/src/math)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/encoding/protowire/wire.go:15:2: package math/bits is not in GOROOT (/usr/local/go/src/math/bits)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/detrand/rand.go:15:2: package os is not in GOROOT (/usr/local/go/src/os)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/compiler/protogen/protogen.go:24:2: package path is not in GOROOT (/usr/local/go/src/path)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/compiler/protogen/protogen.go:25:2: package path/filepath is not in GOROOT (/usr/local/go/src/path/filepath)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/proto/equal.go:10:2: package reflect is not in GOROOT (/usr/local/go/src/reflect)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/encoding/text/decode.go:11:2: package regexp is not in GOROOT (/usr/local/go/src/regexp)
package google.golang.org/protobuf/cmd/protoc-gen-go: cannot find package
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/order/range.go:9:2: package sort is not in GOROOT (/usr/local/go/src/sort)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/reflect/protoreflect/source.go:8:2: package strconv is not in GOROOT (/usr/local/go/src/strconv)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/reflect/protoreflect/proto.go:131:2: package strings is not in GOROOT (/usr/local/go/src/strings)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/pragma/pragma.go:9:8: package sync is not in GOROOT (/usr/local/go/src/sync)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/filedesc/desc.go:11:2: package sync/atomic is not in GOROOT (/usr/local/go/src/sync/atomic)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/strs/strings.go:11:2: package unicode is not in GOROOT (/usr/local/go/src/unicode)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/encoding/text/decode_string.go:12:2: package unicode/utf16 is not in GOROOT (/usr/local/go/src/unicode/utf16)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/internal/strs/strings.go:12:2: package unicode/utf8 is not in GOROOT (/usr/local/go/src/unicode/utf8)
.../.../.../go/pkg/mod/google.golang.org/protobuf@v1.28.0/reflect/protoreflect/value_unsafe.go:11:2: package unsafe is not in GOROOT (/usr/local/go/src/unsafe)
更多关于Golang安装google.golang.org/protobuf/cmd/protoc-gen-go@v1.28失败问题求助的实战教程也可以访问 https://www.itying.com/category-94-b0.html
“package bufio is not in GOROOT”
你在运行构建的电脑上安装的是哪个版本的 Go?你可以通过在命令提示符/终端中运行 go version 来获取版本信息。
更多关于Golang安装google.golang.org/protobuf/cmd/protoc-gen-go@v1.28失败问题求助的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
这个错误表明你的Go环境配置有问题。GOROOT路径指向了/usr/local/go/src,但标准库包却在这个路径下找不到。这通常是因为Go安装不完整或者环境变量配置错误。
首先检查你的Go环境配置:
go env GOROOT
go env GOPATH
如果GOROOT路径不正确,需要重新设置。在Linux/macOS上:
export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH
在Windows上:
set GOROOT=C:\Go
set PATH=%GOROOT%\bin;%PATH%
如果GOROOT路径正确但标准库缺失,可能需要重新安装Go。使用以下命令清理并重新安装:
# 清理旧的Go安装
sudo rm -rf /usr/local/go
# 下载并安装Go
wget https://golang.org/dl/go1.19.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz
安装完成后,验证标准库是否存在:
ls /usr/local/go/src/bufio
ls /usr/local/go/src/bytes
ls /usr/local/go/src/fmt
如果标准库文件存在但问题仍然存在,尝试清理Go模块缓存:
go clean -modcache
然后重新安装protoc-gen-go:
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
如果使用的是较旧的Go版本(低于1.16),需要确保启用了Go模块:
export GO111MODULE=on
go get -u google.golang.org/protobuf/cmd/protoc-gen-go
检查Go版本是否兼容:
go version
protobuf v1.28需要Go 1.13或更高版本。如果Go版本太旧,需要升级Go。

