我與離子具有命令行界面工作啓動路徑。我想創建一個幫助執行某些命令的小型Mac應用程序。使用NSTask執行離子生成命令 - 不能訪問
在終端I cd Users/me/Desktop/Repos/ionic-project/myApp
改變後,我會例如ionic run
NSTask *task = [[NSTask alloc]init];
task.launchPath = @"/bin/bash";
task.currentDirectoryPath = @"cd Users/me/Desktop/Repos/ionic-tryouts/myApp";
task.arguments = @[@"ionic run"];
[task launch];
但是這給了我'工作目錄不存在'。 我已經閱讀了很多關於SO的文章。我的錯誤是什麼?
編輯:
感謝Christik了詳細的解答。我現在有這樣的代碼:
NSTask *task = [[NSTask alloc]init];
task.launchPath = @"/usr/local/bin/ionic";
task.currentDirectoryPath = @"/Users/me/ionic-tryouts/myApp";
task.arguments = @[@"run"];
[task launch];
現在我得到以下錯誤:ENV:節點:No such file or directory
。我想這是來自一個問題,node.js沒有找到(離子建立在節點之上)。我發現this問題 - 缺少正確名稱的符號鏈接可能是原因。但是設置節點的符號鏈接並沒有幫助。有任何想法嗎?
EDIT2: 我給Christik正確的答案,即使我不能最終得到它的工作。我仍在調查。也許這是節點安裝錯誤。
EDIT3: 我看到提到,可能會更好,如果節點是由自制重新安裝,因爲安裝自制軟件也沒有sudo一些職位。一句話評論:沒有幫助
感謝您的回答,但如上所述,我仍然有麻煩。我會設置一個賞金;-) – brainray
@brainray:'@ [@「 - c」,@「ionic」,「run」]'參數列表是針對@「/ bin/sh」可執行文件的。對於離子,你只需要通過'@ [@「run」]',對不起,如果我不清楚這一點。 – Cristik
感謝您的關注:-)但即使只有'@ [@「run」]'作爲參數,它也會給出'env:node:No such file or directory'。我想是離子安裝有一些東西 – brainray