![從 make 執行程式時權限被拒絕](https://rvso.com/image/192253/%E5%BE%9E%20make%20%E5%9F%B7%E8%A1%8C%E7%A8%8B%E5%BC%8F%E6%99%82%E6%AC%8A%E9%99%90%E8%A2%AB%E6%8B%92%E7%B5%95.png)
我正在嘗試調試一個無法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