Fehler beim Ausführen des Befehls 'ant' unter Mac OS X 10.9 Mavericks beim Erstellen für Android mit PhoneGap / Cordova


139

Heute habe ich PhoneGap / Cordova mit Mac OS X Mavericks ausprobiert . Das Erstellen für iOS verlief einwandfrei, aber das Erstellen für Android verlief nicht ohne Rätselraten.

Ich installierte Android 4.2.2 über das Android SDK Manager (ich hatte die älteren verwenden API v17 , da es nicht kompatibel mit einem neueren war), die hinzugefügt PATH environment variablesfür das SDK platform-toolsund toolsund dachte , dass ich bereit war , indem Sie den Befehl zu starten ::

phonegap run android

Trotzdem habe ich folgenden Fehler bekommen:

[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] adding the Android platform...
[error] An error occured during creation of android sub-project. ERROR : executing command 'ant', make sure you have ant installed and added to your path.

3
Das gleiche passiert für mich ... Die Installation über Brew hat es gelöst!
Sebastian

Ich ging in den Ordner / bin und hatte immer noch den gleichen Befehl nicht gefunden. Problem, die Installation mit Brew half. Ich verstehe immer noch nicht, warum es vorher nicht funktioniert hat, wenn ich ant -v aus dem Ordner bin starte, den ich nicht einstellen muss Umwelt varibales, das ist so seltsam ...
LoveMeow

Antworten:


361

Die Fehlermeldung hat sich als wahr erwiesen, da sich Apache Ant nicht mehr im Pfad von Mac OS X Mavericks befindet.

Kugelsichere Lösung:

  1. Laden Sie Homebrew herunter und installieren Sie es, indem Sie den folgenden Befehl im Terminal ausführen:

    ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"

  2. Installieren Sie Apache Ant über Homebrew, indem Sie ausführen

    Gebräu installieren Ameise

Führen Sie den PhoneGap-Build erneut aus und er sollte Ihre Android-App erfolgreich kompilieren und installieren.


1
Gleich. Ihre Lösung war einfach und großartig. Gut beantwortet!
Joakim Wimmerstedt

6
Ant ist jetzt im Homebrew-Core. Verwenden brew install ant
Sie

3
BEFEHLS-UPDATE: ruby ​​-e "$ (curl -fsSL raw.github.com/mxcl/homebrew/go/install )"
Felix

1
Vergessen Sie nicht, "Brew Doctor" nach der Installation von Brew und vor der Verwendung von Brew zur Installation von Ant auszuführen.
Wytze

10
Vergessen brew updateSie nicht, bevor Sie es verwenden, wenn Sie bereits Homebrew installiert haben ....
Christos Hrousis

45

Sie können ANT über Macports oder Homebrew installieren.

Wenn Sie jedoch auf Paketmanager von Drittanbietern verzichten möchten, können Sie das Problem einfach beheben, indem Sie die Binärversion von der Apache ANT-Website herunterladen und die Binärdatei zu Ihrem Systempfad hinzufügen.


Zum Beispiel wurde auf Mountain Lion in ~/.bash_profileund ~/.bashrcmein Pfad wie folgt eingerichtet:

export ANT_HOME="/usr/share/ant"
export PATH=$PATH:$ANT_HOME/bin

Nach dem Dekomprimieren habe apache-ant-1.9.2-bin.tar.bz2ich das resultierende Verzeichnis in das Verzeichnis verschoben /usr/share/und es umbenannt ant.

So einfach ist das Problem.


Hinweis Vergessen Sie nichtsudo chown -R root:wheel /usr/share/ant


Ich habe etwas sehr Ähnliches gemacht, da ich weder Homebrew noch Macports benutze und bei mir auch nichts auf meinem Weg hatte. Ich habe die Binärversion heruntergeladen, sie entpackt und einen Ordner namens ant in / usr / local erstellt. Anschließend habe ich aus der entpackten Binärdatei den Ordner bin und lib nach / usr / local / ant kopiert und danach / usr / local / ant / bin hinzugefügt Ihr Pfad und Ihr Neustart-Terminal und alles war golden. Tun Sie einfach, was Coyote gesagt hat, und Sie werden in kürzester Zeit eine Phonegap-CLI haben.
Robert-W

1
Dies sollte die akzeptierte Antwort sein. Schlank und sauber. Installieren Sie, was Sie brauchen. Die Installation von Apache Ant dauert nur 2 Minuten.
Michel

28

Als Alternative zu Homebrew können Sie Macports herunterladen und installieren . Sobald Sie Macports haben, können Sie verwenden:

sudo port install apache-ant


1
@ Goaler444: Verwenden Sie eine alte Version von Macports? Versuchen Sie dort port search antnach Apache Ant zu suchen.
John Mark

Ja, das war es, aktualisierte Ports durch Eingabe von 'sudo port -v selfupdate' und es funktionierte. Danke :)
Goaler444

@ JohnMark Ich bekomme immer noch den gleichen Fehler, bitte helfen Sie. Ich folgte dem Prozess, den Sie erwähnt haben, muss ich andere installieren
Charan Giri

Ist antauf deinem Weg? Wenn Sie which antdas Terminal eingeben, bekommen Sie etwas?
John Mark

@ JohnMark danke für die Antwort, als ich tippte, welche Ameise ich bekam "/ usr / local / bin / ant"
Charan Giri

21

Es brauchte keinen Port und kein Bier! weil du android sdk paket hast.

.1 Bearbeiten Sie Ihr .bash_profile

export ANT_HOME="[your android_sdk_path/eclipse/plugins/org.apache.ant_1.8.3.v201301120609]" 

// its only my org.apache.ant version, check your org.apache.ant version

export PATH=$PATH:$ANT_HOME/bin

.2 Befehl ant machen, der ausgeführt werden kann

chmod 770 [your ANT_HOME/bin/ant]

.3 Testen Sie, ob die folgende Meldung angezeigt wird. Das ist Erfolg!

Befehlszeile ausführen: ant

Buildfile: build.xml existiert nicht!

Build fehlgeschlagen


Meine Eclipse ist an einem anderen Ort installiert. Nach dem Einstellen hat ANT_HOME="/Applications/eclipse/plugins/orig.apache.ant_1.8.3.v201301120609"es funktioniert!
Michel

14

Beim Versuch, Cordova zu verwenden, ist das gleiche Problem aufgetreten. Es stellte sich heraus, dass ich bereits gebraut hatte, versuchen Sie es which brew, aber es war veraltet. Also musste ich es zuerst aktualisieren:

  1. Update Brew: brew update
  2. Installieren Sie Apache Ant: brew install ant

7

In meinem Fall habe ich Macport bereits installiert. Ich habe einfach meinen Macport aktualisiert:

sudo port selfupdate

sudo port upgrade outdated

Dann installiere Apache-Ant:

sudo port install apache-ant

Schließlich füge ich Ameise zu meiner Aliasliste hinzu in .bash_profile:

alias ant='/opt/local/bin/ant'

Dann sind Sie fertig.


3

Für OSX muss Ihr Pfad enthalten /Users/yourusername

ihr Beispiel: /Development/adt-bundle/sdk/platform-tools
muss sein: /Users/yourusername/Development/adt-bundle/sdk/platform-tools

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.