2017-06-16 19 views
0

我運行此命令混合install.archive失敗,並要求-i指定目錄

$ mix archive.install github ninenines/cowboy 
* Getting new package (https://github.com/ninenines/cowboy.git) 
remote: Counting objects: 9525, done.   
remote: Compressing objects: 100% (13/13), done.   
remote: Total 9525 (delta 0), reused 11 (delta 0), pack-reused 9511   
... 
** (Mix) Cannot create archive without input directory, please pass -i as an option 

但沒有-i選項,搭配不會讓我這樣做。我如何解決這個問題?

回答

0

TL; DRmix項目之外執行此任務是不可能的。

Mix.Tasks.Archive.Install文檔:

如果沒有提供任何參數,但沒有在項目的根目錄的檔案(含混合archive.build創建的),則文件會被安裝在本地。例如:

mix do archive.build, archive.install 

如果提供一個參數,它應該是一個本地路徑或網址預建檔案,一個Git倉庫,一個倉庫GitHub的,或十六進制包。

mix archive.install調用archive.build在引擎蓋下。您收到的錯誤由archive.build引入,與installreceives -i option不同。

它反過來期望installation spec存在。

的總結:一個可以提供dep_spec如上面的鏈接的來源,但一般mix只是不明白的地方構建下載的軟件包。然後,它會懷疑,在哪裏安裝它。因此,最簡單的解決方案是使用mix new創建空項目,然後在那裏執行這些任務。