我正在尝试调试一个无法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
我还观察到,在我的路径中运行其他可执行文件 - 例如python
或go
其他任何东西都可以正常工作。
我想知道如何调试此类问题,即如何找出权限被拒绝的确切原因以及如何解决该问题。
编辑:
有趣的是,如果我运行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