从 make 运行程序时权限被拒绝

从 make 运行程序时权限被拒绝

我正在尝试调试一个无法flutter从 make 运行的问题。

这是我Makefile重现该问题的最低限度。

fails:
    flutter doctor

works:
    sh -c flutter doctor

以及相应的输出:

➜ make fails
flutter --version
make: flutter: Permission denied
make: *** [Makefile:2: fails] Error 127
➜ make works
sh -c "flutter --version"
Flutter 2.2.2 • channel stable •
https://github.com/flutter/flutter.git
Framework • revision d79295af24 (7 days ago) • 2021-06-11 08:56:01
-0700
Engine • revision 91c9fc8fe0
Tools • Dart 2.13.3

我还观察到,在我的路径中运行其他可执行文件 - 例如pythongo其他任何东西都可以正常工作。

我想知道如何调试此类问题,即如何找出权限被拒绝的确切原因以及如何解决该问题。

编辑: 有趣的是,如果我运行which flutter并使用 中的完整路径Makefile,一切正常:

also-works: 
    which flutter
    /full/path/to/bin/flutter --version

输出:

➜ make also-works
which flutter
/full/path/to/bin/flutter
/full/path/to/bin/flutter --version
Flutter 2.2.2 • channel stable •
https://github.com/flutter/flutter.git
Framework • revision d79295af24 (7 days ago) • 2021-06-11 08:56:01
-0700
Engine • revision 91c9fc8fe0
Tools • Dart 2.13.3

相关内容