Ошибка при добавлении или удалении плагинов в Cordova/Phone Gap

У меня установлена ​​Cordova 3.3 (в 3.2 такая же ошибка), и когда я хочу добавить или удалить плагин, система показывает эту ошибку:

>>cordova plugin add org.apache.cordova.network-information
Fetching plugin from "org.apache.cordova.network-information"...
Starting installation of "org.apache.cordova.network-information" for android

/usr/local/lib/node_modules/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
SyntaxError: Unexpected token 

Я проверяю путь и правильно:

echo $PATH
/usr/local/bin:/Users/manuelcm/Documents/sdk_android/platform-tools:
/Users/manuelcm/Documents/sdk_android/tools:/usr/local/apache-ant/bin:
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

В моей первой установке я устанавливаю плагины, и каталоги плагинов появляются в /plugins/, но после сборки в iOS только плагин устройства появляется в /platforms/ios/www/plugins, поэтому я хочу переустановить плагины.

Кто-нибудь знает, почему это происходит и как это решить?


person Carra    schedule 17.12.2013    source источник


Ответы (3)


Наконец я решил проблему, сначала я создал проект на локальном диске. Проблема осталась, затем я создал проект с заглавными буквами в первой букве имени проекта, и все работает нормально. Да, это кажется невероятным, но это было решением.

person Carra    schedule 22.01.2014
comment
Я знаю, что прошло некоторое время, но прежде чем вы начнете использовать команды Cordova, вы должны инициировать любой проект, потому что он загружает и создает локальные файлы для последующего использования. - person norbert; 20.06.2014

У меня была такая же проблема после того, как я обновился до Cordova 3.3.0, когда я попробовал плагины «cordova rm» (после того, как я удалил android.json из папки плагинов). Но проблема решилась для меня, когда после того, как я запустил «Кордова добавить» все плагины.

  • Поэтому я полагаю, вы могли бы попробовать «список плагинов Cordova», чтобы узнать, знает ли он, какой плагин добавлен. если он знает, попробуйте удалить «plugins/android.json», затем добавьте каждый из плагинов обратно, а затем «сборку Cordova».

  • Также, если у вас есть angularjs, вы можете удалить /docs для него, так как это также может привести к ошибке

  • И вы можете проверить свой /platform/android/project.properties, использует ли он цель, которую вы ожидаете? (например, android-16, но он у вас не настроен?)

person Florence Foo    schedule 19.12.2013
comment
Привет, у меня есть эта проблема также в 3.2. Теперь я удаляю весь каталог плагинов и плагины в /android/src/org/apache/cordova, но проблема сохраняется. Я могу добавить плагины (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:126 throw e;), которые плагин создал в каталоге плагинов и /android/src/org/apache/cordova, но после ошибка добавления скрипта останавливается и не добавляется плагин на ios. Я немного в отчаянии. - person Carra; 19.12.2013
comment
Вы пытались удалить /platforms/android/../../plugins/android.json и добавить их обратно? Тогда «сборка кордовы»? - person Florence Foo; 20.12.2013
comment
Да, я пробовал. Я также попытался снова создать проект, но когда я добавляю плагин, система когда-либо выдает ошибку SyntaxError: Unexpected token error при установке плагина Android. - person Carra; 20.12.2013
comment
Вы получаете сообщение об ошибке при запуске вручную? ant debug -f "/platforms/android/build.xml"? Он может сказать вам, где он терпит неудачу... В любом случае, я снова столкнулся с проблемой после обновления моей библиотеки angularjs и исправил ее, удалив angular/docs.. так что, если вы используете angularjs с кордовой. - person Florence Foo; 23.12.2013
comment
Привет, спасибо за ваш ответ, на самом деле у меня рождественские каникулы до 7 января. Когда вернусь, я проверю это и что-нибудь скажу. - person Carra; 27.12.2013
comment
Привет, при выполнении ant debug -f ".....build.xml" я получаю сообщение об ошибке BUILD FAILED /Users/manuelcm/Documents/sdk_android/tools/ant/build.xml:653: The following error occurred while executing this line: /Users/manuelcm/Documents/sdk_android/tools/ant/build.xml:698: null returned: 1 Я искал решение (я добавляю java_home и android_home в .profile), но проблема не устранена. Кроме того, я снова создал проект и получаю эту ошибку при выполнении cordova build android с демонстрационным проектом. - person Carra; 07.01.2014
comment
Привет, я проверяю цель Android и правильно, также удаляю и добавляю плагины и воссоздаю проект. - person Carra; 08.01.2014
comment
Похоже, что-то может быть не так с вашим Android SDK (хотя маловероятно....?)? Если вы посмотрите на свой /Users/manuelcm/Documents/sdk_android/tools/ant/build.xml, где определен gen.absolute.dir, все выглядит правильно? (у меня похоже, что он сгенерировал указанный каталог? в моем случае /platform/android/gen)? - person Florence Foo; 13.01.2014
comment
Хорошо. Последняя попытка..... в файле /platform/android/project.properties у вас есть что-то вроде «android.library.reference.1=CordovaLib», где CordovaLib — это папка src, bin и gen библиотеки Cordova. Если нет, то добавьте его и попробуйте еще раз... - person Florence Foo; 13.01.2014
comment
Привет Флоренция, В build.xml gen.absolute.dir определен со значением по умолчанию (location=gen). Я пытаюсь /platform/android/gen, но это не работает, потому что обнаруживает, что каталог неверен. Так что проблема не в этом. Я также проверяю project.properties и проверяю, что для ссылки на библиотеку Android установлено значение android.library.reference.1=CordovaLib. В том же каталоге project.properties существует каталог CordovaLib с папками src, bin и gen. Самое странное, что я скачал sdk и снова создал проект (используя тестовый проект, устройство готово), но сборка не удалась. - person Carra; 13.01.2014

У меня была аналогичная проблема при установке плагина org.apache.cordova.dialogs. Я удалил содержимое в папке www и выполнил ту же команду. Это сработало. В папке www у меня был проект, который использует Angular. Не уверен, что angular имеет какой-либо конфликт с этим.

person Mithun    schedule 08.01.2015
comment
Коды Angularjs в каталоге www не должны влиять на проект Cordova. - person Hongbin Wang; 09.04.2016