Kesalahan saat menjalankan perintah 'semut' di Mac OS X 10.9 Mavericks saat membangun untuk Android dengan PhoneGap / Cordova

139

Hari ini saya mencoba PhoneGap / Cordova dengan Mac OS X Mavericks . Membangun untuk iOS berjalan dengan baik, tetapi membangun untuk Android bukan tanpa dugaan.

Saya menginstal Android 4.2.2 melalui Android SDK Manager (saya harus menggunakan API v17 yang lebih lama karena tidak kompatibel dengan yang lebih baru), menambahkan PATH environment variablesuntuk SDK platform-toolsdan toolsdan berpikir saya siap lepas landas dengan menjalankan perintah :

phonegap run android

Namun demikian, saya mendapatkan kesalahan berikut:

[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.
Mobiletainment
sumber
3
Hal yang sama terjadi pada saya ... Menginstalnya melalui minuman menyelesaikannya!
Sebastian
saya pergi ke folder / bin, dan masih saya memiliki perintah yang sama tidak ditemukan. Masalah, menginstalnya dengan brew membantu, saya masih tidak mengerti mengapa itu tidak bekerja sebelumnya, jika saya menjalankan semut -v dari folder bin saya tidak perlu mengatur Lingkungan varibales, ini sangat aneh ...
LoveMeow

Jawaban:

361

Pesan kesalahan terbukti benar karena Apache Ant tidak ada di jalur Mac OS X Mavericks lagi.

Solusi anti peluru:

  1. Unduh dan instal Homebrew dengan menjalankan perintah berikut di terminal:

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

  2. Instal Apache Ant melalui Homebrew dengan menjalankan

    buat semut instalasi

Jalankan membangun PhoneGap lagi dan itu harus berhasil mengkompilasi dan menginstal aplikasi Android Anda.

Mobiletainment
sumber
1
Sama. Solusi Anda mudah dan hebat. Dijawab dengan baik!
Joakim Wimmerstedt
6
Semut berada di dalam homebrew-core sekarang. Cukup gunakanbrew install ant
meaku
3
PERINGATAN PERINTAH: ruby ​​-e "$ (curl -fsSL raw.github.com/mxcl/homebrew/go/install )"
Felix
1
Jangan lupa untuk mengeksekusi "brew doctor" setelah menginstal brew dan sebelum menggunakan brew untuk menginstal semut.
Wytze
10
Jangan lupa brew updatesebelum Anda menggunakannya, jika Anda sudah menginstal homebrew ....
Christos Hrousis
45

Anda dapat menginstal ANT melalui macport atau homebrew.

Tetapi jika Anda ingin melakukannya tanpa manajer paket pihak ke-3, masalahnya dapat diperbaiki dengan mengunduh rilis biner dari situs web apache ANT dan menambahkan biner ke PATH sistem Anda.


Misalnya, di Mountain Lion, masuk ~/.bash_profiledan ~/.bashrcjalur saya disetel seperti ini:

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

Jadi setelah uncompressing apache-ant-1.9.2-bin.tar.bz2saya memindahkan direktori yang dihasilkan ke /usr/share/dan menamainyaant .

Sesederhana itu, masalahnya sudah diperbaiki.


Catatan Jangan lupasudo chown -R root:wheel /usr/share/ant

Anjing hutan
sumber
Saya melakukan sesuatu yang sangat mirip karena saya tidak menggunakan homebrew atau macport dan pada saya, saya juga tidak memiliki apa pun di jalur saya untuk itu. Saya mengunduh rilis biner, membuka ritsletingnya dan membuat folder bernama semut di / usr / local kemudian menyalin dari biner ritsleting ke folder bin dan lib ke / usr / local / ant, setelah itu tambahkan / usr / local / ant / bin ke jalur dan restart terminal Anda dan semuanya berwarna emas, lakukan saja apa yang dikatakan Coyote dan Anda akan membuat CLI phonegap bekerja dalam waktu singkat.
Robert-W
1
Ini harus menjadi jawaban yang diterima. Bersandar dan bersih. Instal apa yang Anda butuhkan. Menggunakan Apache Ant hanya membutuhkan waktu 2 menit untuk menginstal.
Michel
28

Sebagai alternatif untuk homebrew, Anda dapat mengunduh dan menginstal macports . Setelah Anda memiliki macports, Anda dapat menggunakan:

sudo port install apache-ant

John Mark
sumber
1
@ Goaler444: Apakah Anda menggunakan versi macports lama? Coba port search antdan cari Apache Ant di sana.
John Mark
Yap, itu saja, memperbarui port dengan memasukkan 'sudo port -v selfupdate' dan berhasil. Terima kasih :)
Goaler444
@ JohnMark saya masih mendapatkan kesalahan yang sama tolong bantu. saya mengikuti proses yang Anda sebutkan apakah saya perlu menginstal yang lain
Charan Giri
Apakah antdi PATH Anda? Jika Anda mengetik which antdi terminal, apakah Anda mendapatkan sesuatu?
John Mark
@JohnMark terima kasih atas tanggapannya ketika saya mengetik semut mana yang saya dapatkan "/ usr / local / bin / ant"
Charan Giri
21

tidak perlu port dan minuman! karena Anda memiliki paket SDK android.

.1 edit .bash_profile Anda

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 buat perintah semut yang bisa dijalankan

chmod 770 [your ANT_HOME/bin/ant]

.3 tes jika Anda melihat pesan di bawah ini. itu sukses!

mengeksekusi baris perintah: semut

Buildfile: build.xml tidak ada!

Gagal membangun

pengguna2300434
sumber
Eclipse saya dipasang di lokasi lain. Setelah pengaturan ANT_HOME="/Applications/eclipse/plugins/orig.apache.ant_1.8.3.v201301120609"berhasil!
Michel
14

Saya mengalami masalah yang sama ketika mencoba menggunakan Cordova. Ternyata saya sudah punya minuman, coba which brew, tapi sudah ketinggalan zaman. Jadi, saya harus memperbaruinya terlebih dahulu:

  1. Perbarui minuman: brew update
  2. Instal Apache Ant: brew install ant
pengguna1
sumber
7

Dalam kasus saya, saya sudah menginstal macport. Saya cukup memperbarui macport saya:

sudo port selfupdate

sudo port upgrade outdated

Kemudian instal apache-ant:

sudo port install apache-ant

Akhirnya, saya menambahkan semut ke daftar alias saya di .bash_profile:

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

Maka Anda sudah siap.

Ksatria
sumber
3

Untuk OSX, jalur Anda perlu disertakan /Users/yourusername

contoh mereka: /Development/adt-bundle/sdk/platform-tools
harus: /Users/yourusername/Development/adt-bundle/sdk/platform-tools

K00kykelly
sumber