從 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

相關內容