Apache Cordova выдает синтаксическую ошибку при добавлении платформы

1

Я пытался начать работу с 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, но безрезультатно. Есть идеи, в чем проблема?

Бенедикт Льюис
источник
точно такие же ошибки для меня.
Брайан Вандербуш

Ответы:

1

Не уверен насчет ошибки ios (поддерживается ли она в linux? - ее нет в списке доступных платформ, когда вы делаете «список платформ cordova»). Вероятно, требуется дополнительная установка и сертификат Apple dev.

Что касается ошибки Android - вы должны исправить это:

Проверьте, что ваша установка ant отвечает на "ant -version".

Посмотрите на этот ответ для настройки необходимых путей в Linux, и дважды проверьте все пути с помощью файлового менеджера: https://stackoverflow.com/a/21142421

Обязательно выйдите из системы / войдите, чтобы применить пути.

Также проверьте, что ваш путь - это то, что вы думаете с помощью «echo $ PATH».

jimasp
источник