
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