Go 的 Makefile 中出现权限被拒绝错误
尽管成功运行了“go run”。直接地,用户在调用“make run”通过 Makefile 执行相同的命令时会遇到权限被拒绝的错误。这种差异可以归因于 GNU make 中的一个微妙之处,正如“make -d”调试输出所揭示的那样。
当 GNU make 尝试定位 go 可执行文件时,就会出现问题。如果 PATH 环境变量中指定的目录(位于包含可执行文件的实际目录之前)中存在名为“go”的目录,GNU make 将错误地定位该目录而不是可执行文件。
例如,如果目录“/usr/bin/go/”存在并且“/usr/bin”在 PATH 中,GNU make 在尝试执行“go run .”时会遇到权限被拒绝的错误。要解决此问题,请确保您的 PATH 不包含任何带有“go”子目录的目录。
如果从 PATH 中删除有问题的目录不可行,您可以通过添加分号“;”到 Makefile 目标定义。这可确保正确解析 go 可执行文件,从而解决权限被拒绝的错误。
run: go run . ;
以上是为什么涉及'go run”的 Makefile 命令会导致权限被拒绝错误?的详细内容。更多信息请关注PHP中文网其他相关文章!