yewanji 2023-03-30 14:27 采纳率: 36.3%
浏览 127
已结题

ngrok 编译报错,有没有懂go语言的帮看下

[root@iZwz9f559fa6a44djkfo68Z ngrok]# make release-server release-client
bin/go-bindata -nomemcopy -pkg=assets -tags=release \
        -debug=false \
        -o=src/ngrok/client/assets/assets_release.go \
        assets/client/...
bin/go-bindata -nomemcopy -pkg=assets -tags=release \
        -debug=false \
        -o=src/ngrok/server/assets/assets_release.go \
        assets/server/...
go get -tags 'release' -d -v ngrok/...
src/github.com/mattn/go-runewidth/runewidth.go:7:2: found packages uniseg (doc.go) and main (gen_breaktest.go) in /root/ngrok-server/ngrok/src/github.com/rivo/uniseg
make: *** [Makefile:8: deps] Error 1

  • 写回答

7条回答 默认 最新

  • 小逸2023 2023-03-30 18:40
    关注
    该回答引用ChatGPT
    根据报错信息,可以看出是在编译ngrok时出现了错误。具体来说,是在执行make release-server release-client命令时,出现了错误。
    错误信息中提到了go-bindata和go-runewidth两个包,因此可以猜测是这两个包出现了问题。具体来说,是在执行go get -tags 'release' -d -v ngrok/...命令时,出现了问题。
    根据错误信息中提到的文件路径,可以找到runewidth.go文件。打开该文件,可以看到第7行出现了问题。具体来说,是在该行代码中引用了rivo/uniseg包中的两个文件:doc.go和gen_breaktest.go。然而,这两个文件属于不同的包,因此会导致编译错误。
    解决该问题的方法是,将runewidth.go文件中引用的不同包中的文件分别放到不同的包中。具体来说,可以将doc.go文件放到uniseg包中,将gen_breaktest.go文件放到一个新的包中。然后,在runewidth.go文件中引用这两个包即可。
    另外,还需要检查一下go-bindata包是否正确安装。如果该包没有正确安装,也会导致编译错误。可以尝试重新安装该包,然后再次编译ngrok。
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月6日
  • 赞助了问题酬金15元 3月30日
  • 创建了问题 3月30日

悬赏问题

  • ¥15 可以实现这个有不同背景颜色的九九乘法表吗?
  • ¥50 python写segy数据时出错2
  • ¥20 关于R studio 做精确稳定检验的问题!(语言-r语言)
  • ¥50 用贝叶斯决策方法,设计CAD程序
  • ¥20 关于#目标检测#的问题:(qq收集表到时间才能填写,填写的份数有上限)
  • ¥50 ZYNQ7020双核FLAHS烧写的问题
  • ¥20 ue 5 中想要实现第一人称人物左右行走摆动的效果,摄像头只向右摆动一次(关键词-结点)
  • ¥15 AD9164瞬时带宽1.8G,怎么计算出来?
  • ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除? HKEY_CLASSES_ROOT*\shellex\ContextMenuHandlers 没用
  • ¥15 服务器安装php5.6版本