首页  >  文章  >  后端开发  >  为什么 Makefile 会抛出 Go 命令的权限被拒绝错误?

为什么 Makefile 会抛出 Go 命令的权限被拒绝错误?

DDD
DDD原创
2024-10-23 15:54:01136浏览

Why Does Makefile Throw a Permission Denied Error for Go Commands?

运行 Go 时 Makefile 中出现权限被拒绝错误

通过 Makefile 运行 Go 命令时可能会遇到“权限被拒绝”错误,即使你可以直接执行它们。这种差异是由于 GNU make 中的问题造成的。

原因:

当您的 PATH 上有一个目录包含名为“go.gnu”的子目录时,就会出现此错误。 ”例如,如果您的 PATH 中有“/usr/bin/go/”,它可能会干扰执行。

解决方案:

解决此问题,检查您的 PATH 变量并删除所有包含名为“go”的子目录的目录。如果这不可行,请在 Makefile 中的“go run”命令后添加分号(“;”)以强制 GNU make 使用 shell。

示例:

run:
    go run . ;

其他见解:

  • 运行“make with -d/--trace”显示 GNU make 无法将“run”识别为目标,因为目录不存在或
  • 对于“run2”,echo 命令会强制 GNU make 将其解释为目标,从而允许“go run”命令成功执行。

以上是为什么 Makefile 会抛出 Go 命令的权限被拒绝错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn