2015-09-06 25 views
5

podczas biegu cordova build z mojego katalogu aplikacji i uzyskać następujący błądnie można zbudować projekt Cordova, błąd PATH

[Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually. Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.] ERROR building one of the platforms: Error: /home/shakir/Documents/myapp/platforms/android/cordova/build: Command failed with exit code 2 You may not have the required environment or OS to build this project Error: /home/shakir/Documents/myapp/platforms/android/cordova/build: Command failed with exit code 2 at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139:23) at ChildProcess.EventEmitter.emit (events.js:98:17) at maybeClose (child_process.js:743:16) at Process.ChildProcess._handle.onexit (child_process.js:810:5)

postawiłem mój plik ~/.profile następująco

export ANDROID_HOME="/usr/local/android-sdk-linux"

export ANDROID_PLATFORM_TOOLS="/usr/local/android-sdk-linux/platform-tools"

export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_PLATFORM_TOOLS

i echo ANDROID_HOME give następujące wyniki

/usr/local/android-sdk-linux

używam Ubuntu 14.04. Jak rozwiązać ten problem i tworzyć aplikacje cordova?

+0

Upewnij się, że powłoka można znaleźć i wykonać "android" i "adb" – csantanapr

Odpowiedz

10

Ten błąd występuje, ponieważ nie ustawiłeś poprawnie ścieżki SDK systemu Android. Najpierw znajdź folder android-sdk na komputerze. W folderze android-sdk znajduje się folder o nazwie "platform-tools". Możesz więc poprawnie zidentyfikować folder android-sdk. Następnie pobierz ścieżkę do folderu android-sdk. Teraz otwórz terminal i wprowadź następujące polecenie:

export ANDROID_HOME="your android-sdk path" 

Teraz uruchom projekt.

+0

To działało wielkie dzięki :) –

+0

Dziękuję soooo muchh !!!!! Właśnie to, co musiałem zrobić. – yanike

5

masz prawdopodobnie wykorzystane „sudo” do dodawania platformie Android .. szybkie rozwiązanie tego problemu jest:

  1. przywracania właściwego pozwolenia folderu do wszystkich folderów/podfolderów folderu platform

  2. Usuń platformy android z sudo cordova platform remove android

  3. Dodaj platformy android z cordova platform add android NIE UŻYWAJ sudo! Jeśli są błędy bez sudo SO, to jest problem! NIGDY nie używaj rzeczy sudo lub projekt będzie miał taki problem!

Jeśli nadal masz wątpliwości, możesz mieć zainstalowane Cordova za pomocą sudo, również nie jest rozwiązaniem dla niego:
najpierw musimy założyć KMP globalnego instalacji, dzięki czemu możemy używać go bez sudo preferowanym sposobem umożliwienia npm instalowania pakietów na całym świecie bez wyławiania $ HOME jest ustawienie lokalnego prefiksu węzła.To jest tak proste, jak pracuje:

echo prefix = ~/.node >> ~/.npmrc 
echo 'export PATH=$HOME/.node/bin:$PATH' >> ~/.bashrc 
. ~/.bashrc  

następnie uruchomiony:

npm install -g cordova 

może skutkuje:

Error: EACCES, permission denied '/home/yourusername/.config/configstore/update-notifier-cordova.json' 

aby je naprawić:

sudo chown yourusername:yourusername /home/yourusername/.config/configstore/update-notifier-cordova.json 

Po tym, możesz bez problemu uruchomić npm install -g cordova bez s udo, bez uruchamiania konfliktów uprawnień i jeśli coś jest całkowicie zepsute i chcesz zacząć od zera, wszystko co musisz zrobić, to usunąć swój katalog ~/.node.

Mam nadzieję, że ta pomoc!

można również spojrzeć na te dwa linki: źródło 1 & 2

+1

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić tutaj istotne części odpowiedzi i podać link do odsyłacza. Odpowiedzi dotyczące linków mogą stać się nieważne, jeśli połączona strona zmieni się – Dethariel

+0

To jest dokładnie to, czego szukałem. – TheJediCowboy

+0

Zaktualizowałem odpowiedź zgodnie z sugestią. dzięki @Dethariel :) – molhamaleh

-1

Można również uzyskać ten błąd

Error: EACCES: permission denied, open '/home/yourusername/.cordova/lib/npm_cache/cordova-android/5.1.1/package/.npmignore' 

go naprawić użyć tego polecenia

sudo chown -R yourusername:yourusername /home/chandesh007/.cordova/lib/npm_cache/cordova-android/5.1.1/package 
Powiązane problemy