Я пытался начать работу с Ionic Framework, и одним из шагов является установка Cordova.
sudo npm install -g cordova
Который работает отлично. Затем я должен добавить платформы iOS и Android, но при попытке получить ошибки:
IOS:
benedict@prometheus:/var/www/ionic/hello$ sudo cordova platform add ios
Creating ios project...
/home/benedict/.cordova/lib/ios/cordova/3.4.0/bin/create: 33: /home/benedict/.cordova/lib/ios/cordova/3.4.0/bin/create: Syntax error: "(" unexpected
Error: /home/benedict/.cordova/lib/ios/cordova/3.4.0/bin/create: Command failed with exit code 2
at ChildProcess.whenDone (/usr/lib/node_modules/cordova/src/superspawn.js:112: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)
Android:
benedict@prometheus:/var/www/ionic/hello$ sudo cordova platform add android
Creating android project...
/home/benedict/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:126
throw e;
^
Error: An error occurred while listing Android targets
at /home/benedict/.cordova/lib/android/cordova/3.4.0/bin/lib/check_reqs.js:87:29
at _rejected (/home/benedict/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:808:24)
at /home/benedict/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:834:30
at Promise.when (/home/benedict/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:1079:31)
at Promise.promise.promiseDispatch (/home/benedict/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:752:41)
at /home/benedict/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:574:44
at flush (/home/benedict/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:415:13)
Error: /home/benedict/.cordova/lib/android/cordova/3.4.0/bin/create: Command failed with exit code 8
at ChildProcess.whenDone (/usr/lib/node_modules/cordova/src/superspawn.js:112: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)
Я попытался переустановить Cordova, но безрезультатно. Есть идеи, в чем проблема?
Ответы:
Не уверен насчет ошибки ios (поддерживается ли она в linux? - ее нет в списке доступных платформ, когда вы делаете «список платформ cordova»). Вероятно, требуется дополнительная установка и сертификат Apple dev.
Что касается ошибки Android - вы должны исправить это:
Проверьте, что ваша установка ant отвечает на "ant -version".
Посмотрите на этот ответ для настройки необходимых путей в Linux, и дважды проверьте все пути с помощью файлового менеджера: https://stackoverflow.com/a/21142421
Обязательно выйдите из системы / войдите, чтобы применить пути.
Также проверьте, что ваш путь - это то, что вы думаете с помощью «echo $ PATH».
источник