Golang Firebase安装问题:找不到JWT

Golang Firebase安装问题:找不到JWT 我们尝试安装 firebase .google.com/go,但无论在哪个 Linux 机器上安装,都会遇到错误。

(在这篇帖子中,不得不在 firebase 后面加一个空格,因为论坛不允许在消息中包含额外的链接。)

请建议如何修复此问题,以便我们可以安装并继续编程。任何帮助都将非常棒!我们以前在安装任何 Go 相关的东西时从未遇到过问题。

[root@localhost ~]# go get firebase .google.com/go
cannot find package “github.com/golang-jwt/jwt/v4” in any of:
/usr/lib/golang/src/github.com/golang-jwt/jwt/v4 (from $GOROOT)
/root/go/src/github.com/golang-jwt/jwt/v4 (from $GOPATH)

使用的 Go 版本是 1.19.9。

当我们导航到 /root/go/src/github.com 文件夹时,发现 github.com/golang-jwt/jwt 已经安装。

尝试安装 github.com/golang-jwt/jwt/v4,但仍然收到上述相同的错误。


更多关于Golang Firebase安装问题:找不到JWT的实战教程也可以访问 https://www.itying.com/category-94-b0.html

3 回复

请使用命令 go get firebase.google.com/go 重新安装 Firebase Go SDK。

更多关于Golang Firebase安装问题:找不到JWT的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


在使用 go get firebase.google.com/go 安装 Firebase Admin SDK 时,我也遇到了同样的问题。

我认为这与我没有使用 Go 模块(GO111MODULE=off,即 GOPATH 模式)有关,同时 Firebase 模块依赖了 JWT 包的 v2+ 版本

Firebase 团队 已决定放弃对非模块模式的支持,但我觉得文档并未反映这一决定。

我尝试过使用 Go 1.16 并检出旧版本的 Firebase,但都出现了同样的错误。

你找到什么解决方案了吗?

这个错误是因为Firebase SDK需要github.com/golang-jwt/jwt/v4包,但你的环境缺少这个依赖。由于你使用的是Go 1.19.9,需要确保模块模式已启用。以下是解决方案:

首先,初始化模块并安装依赖:

# 在你的项目目录中初始化模块
go mod init your-project-name

# 安装Firebase SDK
go get firebase.google.com/go

如果仍然遇到问题,可以手动添加JWT依赖:

# 清理模块缓存
go clean -modcache

# 添加JWT v4依赖
go get github.com/golang-jwt/jwt/v4

# 然后重新安装Firebase
go get firebase.google.com/go

检查你的go.mod文件是否包含以下依赖:

module your-project-name

go 1.19

require (
    firebase.google.com/go v3.13.0+incompatible
    github.com/golang-jwt/jwt/v4 v4.5.0
)

如果问题仍然存在,尝试设置GOPROXY:

export GOPROXY=https://goproxy.cn,direct
go get firebase.google.com/go

最后,验证安装:

package main

import (
    "context"
    firebase "firebase.google.com/go"
    "log"
)

func main() {
    // 测试Firebase导入
    app, err := firebase.NewApp(context.Background(), nil)
    if err != nil {
        log.Fatal(err)
    }
    _ = app
}

运行测试:

go run main.go

如果没有任何错误输出,说明安装成功。

回到顶部