Lỗi thực thi lệnh 'ant' trên Mac OS X 10.9 Mavericks khi xây dựng cho Android bằng PhoneGap / Cordova


139

Hôm nay tôi đã dùng thử PhoneGap / Cordova với Mac OS X Mavericks . Xây dựng cho iOS đã diễn ra tốt đẹp, nhưng việc xây dựng cho Android không phải là một số phỏng đoán.

Tôi đã cài đặt Android 4.2.2 thông qua SDK Manager Android (tôi đã phải sử dụng cũ v17 API vì nó không tương thích với một phiên bản mới hơn), thêm vào PATH environment variablescho SDK platform-toolstoolsvà nghĩ rằng tôi đã sẵn sàng để cất cánh bằng cách chạy lệnh :

phonegap run android

Tuy nhiên, tôi đã nhận được lỗi sau:

[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
Điều tương tự cũng xảy ra với tôi ... Cài đặt nó qua brew đã giải quyết nó!
Sebastian

Tôi đã đi đến Thư mục / bin và tôi vẫn không tìm thấy lệnh tương tự Sự cố, cài đặt nó với brew đã giúp, tôi vẫn không hiểu tại sao nó không hoạt động trước đây, nếu tôi chạy ant -v từ Thư mục bin tôi không cần thiết lập Sự khác biệt về môi trường, điều này thật kỳ lạ ...
LoveMeow

Câu trả lời:


361

Thông báo lỗi đã được chứng minh là đúng vì Apache Ant không còn nằm trong đường dẫn của Mac OS X Mavericks nữa.

Giải pháp chống đạn:

  1. Tải xuống và cài đặt Homebrew bằng cách thực hiện lệnh sau trong terminal:

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

  2. Cài đặt Apache Ant thông qua Homebrew bằng cách thực thi

    bia cài đặt kiến

Chạy lại bản dựng PhoneGap và nó sẽ biên dịch và cài đặt thành công ứng dụng Android của bạn.


1
Tương tự. Giải pháp của bạn thật dễ dàng và tuyệt vời. Trả lời tốt!
Joakim Wimmerstedt

6
Ant đang ở trong homebrew-core bây giờ. Đơn giản chỉ cần sử dụngbrew install ant
meaku

3
CẬP NHẬT THÔNG TIN : ruby ​​-e "$ (curl -fsSL raw.github.com/mxcl/homebrew/go/install )"
Felix

1
Đừng quên thực hiện "brew Doctor" sau khi cài đặt brew và trước khi sử dụng brew để cài đặt ant.
Wytze

10
Đừng quên brew updatetrước khi bạn sử dụng nó, nếu bạn đã cài đặt homebrew ....
Christos Hrousis

45

Bạn có thể cài đặt ANT thông qua macports hoặc homebrew.

Nhưng nếu bạn muốn thực hiện mà không có trình quản lý gói bên thứ 3, vấn đề có thể được khắc phục bằng cách tải xuống bản phát hành nhị phân từ trang web ANT apache và thêm tệp nhị phân vào hệ thống PATH của bạn.


Ví dụ: trên Mountain Lion, trong ~/.bash_profile~/.bashrcđường dẫn của tôi đã được thiết lập như thế này:

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

Vì vậy, sau khi giải nén, apache-ant-1.9.2-bin.tar.bz2tôi chuyển thư mục kết quả sang /usr/share/và đổi tên nó ant.

Đơn giản như vậy, vấn đề đã được sửa.


Lưu ý Đừng quênsudo chown -R root:wheel /usr/share/ant


Tôi đã làm một cái gì đó rất giống nhau vì tôi không sử dụng homebrew hoặc macports và đối với tôi, tôi cũng không có bất cứ điều gì trong con đường của mình cho nó. Tôi đã tải xuống bản phát hành nhị phân, giải nén nó và tạo một thư mục có tên ant in / usr / local sau đó sao chép từ thư mục nhị phân được giải nén bin và lib vào / usr / local / ant, sau đó thêm / usr / local / ant / bin vào đường dẫn của bạn và khởi động lại thiết bị đầu cuối và tất cả đều tuyệt vời, chỉ cần làm những gì Coyote đã nói và bạn sẽ có CLI điện thoại hoạt động nhanh chóng.
Robert-W

1
Đây phải là câu trả lời được chấp nhận. Lean và sạch sẽ. Cài đặt những gì bạn cần. Sử dụng Apache Ant chỉ mất 2 phút cài đặt.
Michel

28

Thay thế cho homebrew, bạn có thể tải xuống và cài đặt macports . Khi bạn có macports, bạn có thể sử dụng:

sudo port install apache-ant


1
@ Goaler444: Bạn có đang sử dụng phiên bản cũ của macports không? Hãy thử port search antvà tìm kiếm Apache Ant ở đó.
John Mark

Đúng, chính là nó, đã cập nhật các cổng bằng cách nhập 'sudo port -v selfupdate' và nó đã hoạt động. Cảm ơn :)
Goaler444

@JohnMark tôi vẫn nhận được lỗi tương tự xin vui lòng giúp đỡ. tôi đã làm theo quy trình mà bạn đề cập, tôi có cần phải cài đặt cái nào khác không
Charan Giri

anttrên PATH của bạn? Nếu bạn gõ which antvào terminal bạn có nhận được gì không?
John Mark

@JohnMark cảm ơn bạn đã trả lời khi tôi gõ mà ant tôi đã nhận "/ usr / local / bin / ant"
Charan Giri

21

Nó không cần cảng và bia! bởi vì bạn có gói sdk android.

.1 chỉnh sửa .bash_profile của bạn

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 tạo lệnh ant có thể thực thi

chmod 770 [your ANT_HOME/bin/ant]

.3 kiểm tra nếu bạn thấy thông báo dưới đây. đó là thành công!

dòng lệnh thực thi: ant

Buildfile: build.xml không tồn tại!

Thiết lập thất bại


Eclipse của tôi được cài đặt ở một vị trí khác. Sau khi thiết lập ANT_HOME="/Applications/eclipse/plugins/orig.apache.ant_1.8.3.v201301120609"nó hoạt động!
Michel

14

Tôi gặp vấn đề tương tự khi cố gắng sử dụng Cordova. Hóa ra tôi đã uống bia, thử which brew, nhưng nó đã lỗi thời. Vì vậy, tôi đã phải cập nhật nó trước:

  1. Cập nhật bia: brew update
  2. Cài đặt Apache Ant: brew install ant

7

Trong trường hợp của tôi, tôi đã cài đặt macport. Tôi chỉ đơn giản là cập nhật macport của mình:

sudo port selfupdate

sudo port upgrade outdated

Sau đó cài đặt apache-ant:

sudo port install apache-ant

Cuối cùng, tôi thêm ant vào danh sách bí danh của mình trong .bash_profile:

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

Sau đó, bạn đã hoàn tất.


3

Đối với OSX, đường dẫn của bạn cần bao gồm /Users/yourusername

ví dụ của họ: /Development/adt-bundle/sdk/platform-tools
cần phải là: /Users/yourusername/Development/adt-bundle/sdk/platform-tools

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.