首页 > 解决方案 > 导入包时出错(google.golang.org/api/option):“错误读取符号:EOF”

问题描述

我正在尝试在 Go 中构建一个简单的 URL 缩短器以熟悉该语言。作为其中的一部分,我正在尝试使用我正在使用服务帐户对其进行身份验证的底层 firebase 数据存储。

配置firestore客户端后,我第一次尝试构建并开始遇到以下错误

$ go build
# _/C_/Users/emmao/Documents/Go/UrlShortener
2020/05/10 17:52:18 C:\Users\emmao\go\pkg\windows_amd64\github.com\golang\protobuf\ptypes.a(_go_.o): error reading symbol: EOF

剥离代码块后,这是重现问题所需的最低数量:

package main

import (
    "fmt"

    "google.golang.org/api/option"
)

func main() {
    // Use a service account
    sa := option.WithCredentialsFile("path/to/serviceAccount.json")

    fmt.Println(sa)
}

老实说,我有点迷失了。我没有得到语法高亮显示我做错了什么。虽然这对我来说是一个早期项目,但我已经构建了一些其他需要外部导入的简单东西,而且它们运行良好。

我正在使用带有 Visual Studio Code 的 Windows PC 作为 IDE。尝试了 CRLF 和 LF 行尾。我还尝试使用香草记事本从头开始重新重写文件并遇到了同样的问题。

我在 VS 代码上的扩展带有下划线package main,并显示与构建时相同的错误。

以前有人遇到过这样的事情吗?

标签: go

解决方案


你的代码很好我在我的mac上测试它,但它可能是一些外部原因,例如:windows防火墙 - 它阻止了下载一些go包的请求

看到这个类似的问题:

  1. https://github.com/PaloAltoNetworks/pango/issues/11#issuecomment-492211040

  2. 失败 - 预期的“包”,发现“EOF”

有时在类似的情况下,我会在任务栏或桌面小窗口中收到有关被阻止进程等的不起眼通知,因此您需要检查您的环境


推荐阅读