12.3 make cmd命令中神奇的”open stubs/cmd.stub: file does not exist“问题

问题复现:

由于跟随教程写代码,不知何时在app/cmd/make/make.go文件中 此处多了个空格,如图所示,

12.3 make cmd命令中神奇的”open stubs/cmd.stub: file does not exist“问题
,结果在运行时就导致了有趣的报错,报错是找不到我们的cmd.stub文件。

问题查找及修复:

查了好久的问题,最后无奈复制粘贴代码挨个对比才发现竟然是因为这里多了个空格,修复后如图

12.3 make cmd命令中神奇的”open stubs/cmd.stub: file does not exist“问题
理论上来讲注释里的内容是不会影响代码的,那问题出在哪里呢?

问题分析:

既然是embed包,那肯定要从包的说明去分析,查看包说明,线上网址在此https://pkg.go.dev/embed文档中部分说明如下

12.3 make cmd命令中神奇的”open stubs/cmd.stub: file does not exist“问题
embed可以让我们能对嵌入文件进行访问,并且我们能用//go:embed的形式来导入目录或者源文件。看到这里,再结合代码就可以知道了。这一步是告诉我们的程序,有一个目录是”stubs”,并且这个目录可以被访问到。至此完结。

讨论数量: 8
Summer

又是一个能让人掉头发的 bug :joy:

2个月前 评论
joker_hu (楼主) 1个月前

:joy:我是 // 后面多了一个空格...

2周前 评论
joker_hu (楼主) 1周前
PHP-Coder 1周前

有趣的BUG 写了2遍还是遇到了... hahah

1周前 评论
joker_hu (楼主) 1周前

这个不能有空格,注释也不能去掉,必须按照格式写。要不就报错

1周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!