脚手架使用单独入口之后出现问题
Opened this issue · 7 comments
安装所需扩展、执行git clone https://github.com/bilibili/sniper.git
.、执行go run cmd/sniper/main.go rpc --service=foo
均无报错.
但执行go run main.go server --port=8080
时出错
build command-line-arguments: cannot load sniper/cmd/falsework: malformed module path "sniper/cmd/falsework": missing dot in first path element
删除掉main.go的falsework内容后重新执行,出错改为
# sniper/cmd/server
cmd/server/http.go:28:33: cannot use hooks (type *"github.com/bilibili/twirp".ServerHooks) as type *"github.com/twitchtv/twirp".ServerHooks in argument to foo_v1.NewFooServer
cmd/server/main.go:137:9: too many arguments in call to initMux
have (*http.ServeMux, bool)
want (*http.ServeMux)
请问如何解决?望回复,谢谢
falsework去除就可以了,不要引入这个~~
falsework去除就可以了,不要引入这个~~
好的,main.go去除了falsework,请问还需要去除其他地方的吗?对Go不是很熟悉......
之前 falsework 是项目代码的一部分。如果生成的代码有问题会导致编译失败,进而 falsework 子命令也无法使用。现在移除了 falsework 子命令,引入了独立的 sniper 命令来解决这个问题。
需要把initMux(mux)
改为initMux(mux, isInternal)
,可能你的main.go
是之前生成的。
好的,感谢,那我再试一下
需要把
initMux(mux)
改为initMux(mux, isInternal)
,可能你的main.go
是之前生成的。
应该是 initMux(mux, isInternal)
改为 initMux(mux)
吧? 我看 master 调用处传了两个参数,实际上 cmd/server/http.go
的 initMux 方法只接收一个参数