2017-06-16 4 views
0

Ich verwende diesen BefehlMix install.archive schlägt fehl, und fragt nach -i Verzeichnis angeben

$ 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 

Aber es gibt keine Option -i und Mix wird mir nicht, dass wir tun. Wie komme ich hier zurecht?

Antwort

0

TL; DR Es ist unmöglich, diese Aufgabe außerhalb des mix Projekts auszuführen.

Von der Mix.Tasks.Archive.Install Dokumentation:

Wenn kein Argument geliefert wird, aber es ist ein Archiv, in dem Stammverzeichnis des Projektes (mit Mix archive.build erstellt), dann wird das Archiv lokal installiert werden. Zum Beispiel:

mix do archive.build, archive.install 

Wenn ein Argument zur Verfügung gestellt wird, soll es einen lokaler Pfad oder eine URL zu einem vorgebauten Archiv, ein Git Repository, eine Github-Repository oder ein Hex-Paket sein.

mix archive.install Anrufe archive.build unter der Haube. Der Fehler, den Sie erhalten, wird von archive.build eingeführt, die im Gegensatz zu install, receives -i option.

Er erwartet wiederum, dass die installation spec vorhanden ist.

Das Resümee: Man könnte die dep_spec liefern, wie in der Quelle oben verlinkten gezeigt, aber im Allgemeinen mix versteht einfach nicht, wo Build die heruntergeladenen Pakete. Nachher wird es jedoch Zweifel geben, wo es zu installieren ist. Die einfachste Lösung wäre also, das leere Projekt mit mix new zu erstellen und diese Aufgaben dort auszuführen.

Verwandte Themen