猿问

如果 go 模块坏了怎么办

作为 Node.js 开发人员,我对 Golang 还是个新手,并且在 Go 中的依赖管理方面苦苦挣扎。我正在使用 Go 1.11 并mod init在导入所有依赖项后应用。其中之一是 logrus,它阻止我编译我的 go 应用程序。


问题:


我相信问题确实在 logrus 内部,但是我不知道我现在如何获得另一个(工作)版本的 logrus,以便我可以再次编译我的应用程序。


/Users/redacted/Documents/redacted3/redacted2>Finished running tool: /usr/local/bin/go vet ./...

/Users/redacted/go/pkg/mod/github.com/sirupsen/logrus@v1.2.0/entry.go:51: undefined: Logger

/Users/redacted/go/pkg/mod/github.com/sirupsen/logrus@v1.2.0/entry.go:54: undefined: Fields

/Users/redacted/go/pkg/mod/github.com/sirupsen/logrus@v1.2.0/entry.go:61: undefined: Level

我怎样才能摆脱这些烦人的依赖问题?


相关进口:


log "github.com/sirupsen/logrus"

Go.mod 包含


github.com/sirupsen/logrus v1.2.0


汪汪一只猫
浏览 119回答 2
2回答

Cats萌萌

我不得不删除/go/pkg/mod/github.com/...解决问题的路径中的模块。显然在创建模块或最初从 github 中提取代码时出了点问题。之后我go get再次使用我的 logrus lib,它按预期工作。

哔哔one

我认为 logrus 模块很好,您只是缺少“log.WithFields”定义。main.go 文件://Source : https://github.com/sirupsen/logrus//logrus version : require github.com/sirupsen/logrus v.1.2.0//go version go1.11.2 linux/amd64package mainimport (//Go package"os""fmt"log "github.com/sirupsen/logrus")//Checking if the logout file exist//Just to show the Fatal tag.func Exists(name string) bool {        _, err := os.Stat(name)        return !os.IsNotExist(err)}func main() {        fmt.Println("I'am the main here ... all begin ...")         log.WithFields(log.Fields{"main": "main process",}).Info("Initialization.")        log.WithFields(log.Fields{"main": "...some codes....",}).Warn("Nothting here yet.")        log.WithFields(log.Fields{"main":"main process",}).Info("It's done. Thanks.")        //The check here (it's just for demo) so you can see the others tags        if Exists("paht/to/mylogoutfile") == false {                log.WithFields(log.Fields{"main": "Checking logoutputfile path.",}).Fatal("Mising the Logout file.")}        //fmt.Println("This is the end Thankyou for using this. :) ")        }go.mod 文件:module logrustestrequire github.com/sirupsen/logrus v1.2.0 // indirect输出 :
随时随地看视频慕课网APP

相关分类

Go
我要回答