为了账号安全,请及时绑定邮箱和手机立即绑定

安装 go 风景 - 无法使用 &SceneryDefinition

安装 go 风景 - 无法使用 &SceneryDefinition

Go
蛊毒传说 2022-07-18 16:20:43
我已经安装好了。但是,当我这样做时:go get -u github.com/dmlittle/scenery我得到:# github.com/dmlittle/scenery/pkg/parsergo/src/github.com/dmlittle/scenery/pkg/parser/parser.go:98:20: cannot use &SceneryDefinition literal (type *SceneryDefinition) as type lexer.Definition in argument to participle.Lexer:    *SceneryDefinition does not implement lexer.Definition (wrong type for Lex method)        have Lex(io.Reader) (lexer.Lexer, error)        want Lex(string, io.Reader) (lexer.Lexer, error)go/src/github.com/dmlittle/scenery/pkg/parser/parser.go:116:21: not enough arguments in call to p.ParseString    have (string, *Plan)    want (string, string, interface {}, ...participle.ParseOption)go/src/github.com/dmlittle/scenery/pkg/parser/scanner.go:39:10: undefined: lexer.Errorfgo/src/github.com/dmlittle/scenery/pkg/parser/scanner.go:82:26: undefined: lexer.Errorf有什么建议么?
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

同样的问题,似乎prj使用dep。我已经修复了克隆 repo,然后配置 go 模块以找到正确的项目依赖项。然后再次运行 go get ,构建成功:


~/go/src/github.com/dmlittle/scenery (master ✔) ᐅ go run main.go

# github.com/dmlittle/scenery/pkg/parser

pkg/parser/parser.go:98:20: cannot use &SceneryDefinition literal (type *SceneryDefinition) as type lexer.Definition in argument to participle.Lexer:

    *SceneryDefinition does not implement lexer.Definition (wrong type for Lex method)

        have Lex(io.Reader) (lexer.Lexer, error)

        want Lex(string, io.Reader) (lexer.Lexer, error)

pkg/parser/parser.go:116:21: not enough arguments in call to p.ParseString

    have (string, *Plan)

    want (string, string, interface {}, ...participle.ParseOption)

pkg/parser/scanner.go:39:10: undefined: lexer.Errorf

pkg/parser/scanner.go:82:26: undefined: lexer.Errorf

初始化 go mod:


~/go/src/github.com/dmlittle/scenery (master ✔) ᐅ go mod init

go: creating new go.mod: module github.com/dmlittle/scenery

go: copying requirements from Gopkg.lock

检查依赖项:


go mod tidy

go: downloading github.com/spf13/cobra v0.0.3

go: downloading github.com/fatih/color v1.7.0

....

安装包:


go get -u github.com/dmlittle/scenery

按预期工作:


~/go/src/github.com/dmlittle/scenery (master ✘)✭ ᐅ ./scenery

Usage:

  scenery [flags]


Examples:

  terraform plan | scenery


Flags:

  -h, --help       help for scenery

  -n, --no-color   Print output without color

      --version    version for scenery


查看完整回答
反对 回复 2022-07-18
  • 1 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信