Удаление плагинов cordova из проекта
Как-то в моем приложении установлены многие плагины cordova, и из - за этого он требует доступа почти ко всему-от моих контактов до текущего местоположения ( хотя это приложение не нуждается в этом ).
Это приложение строится через Дженкинс и, насколько я понимаю, одно решение-удалить каждый плагин с помощью одной команды, так что это будет похоже:
cordova plugin rm org.apache.cordova.battery-status
cordova plugin rm org.apache.cordova.camera
cordova plugin rm org.apache.cordova.contacts
cordova plugin rm org.apache.cordova.geolocation
cordova plugin rm org.apache.cordova.media
cordova plugin rm org.apache.cordova.media-capture
cordova plugin rm org.apache.cordova.splashscreen
cordova plugin rm org.apache.cordova.vibration
но иногда он показывает некоторые ошибки, и с Дженкинсом любая ошибка заканчивается неудачей сборки, так что есть любая команда, которая удаляет все плагины? ( во время установки основные плагины, которые требуют любого приложения для работы, добавляются автоматически через cordova, поэтому я искал некоторые cordova plugin rm -all
, но не смог найти его )
12 ответов:
во-первых, вы должны перечислить ваши плагины:
cordova plugin list
С таким результатом, вы можете просто сделать:
cordova plugin remove <PLUGIN_NAME>
например:
cordova plugin remove org.apache.cordova.media
надеюсь, что это помогает.
вы также можете сделать это с помощью bash (после переключения в каталог проекта Cordova):
for i in `cordova plugin ls | grep '^[^ ]*' -o`; do cordova plugin rm $i; done
из терминала (osx) я обычно использую
cordova plugin -l | xargs cordova plugins rm
труба, труба все!
чтобы немного расширить: эта команда будет перебирать результаты
cordova plugin -l
и скормить егоcordova plugins rm
.xargs это одна из тех команд, которые вы удивляетесь, почему вы не знали прежде. посмотреть тут.
вы могли бы использовать:
cordova plugins list | awk '{print }' | xargs cordova plugins rm
и использовать
cordova plugins list
чтобы проверить, если плагины все удалил.
П2.0.0 о cordova-check-plugins позволяет удалить все плагины в проекте:
$ npm install -g cordova-check-plugins $ cordova-check-plugins --remove-all
он попытается использовать Cordova CLI для удаления каждого плагина, но если это не удастся, он заставит удалить плагин из
platforms/
иplugins/
.если вы также хотите удалить из конфига.xml, используйте:
$ cordova-check-plugins --remove-all --save
отказ от ответственности: я являюсь автором cordova-check-plugins
Я делаю это с помощью этого python one-liner:
python -c "import subprocess as sp;[sp.call('cordova plugin rm ' + p.split()[0], shell=True) for p in sp.check_output('cordova plugin', shell=True).split('\n') if p]"
очевидно, что он не обрабатывает никаких условий ошибки, но он выполняет свою работу.
насколько я помню из Кордовы, у вас должен быть xml-файл в папке "res", содержащий список плагинов, используемых в вашем проекте. Вероятно,вам нужно удалить эти неиспользуемые плагины из списка. А также вы должны удалить связанные файлы.
это командная строка для удаления плагинов в Cordova
cordova plugin remove <pluginid>
например, я побежал
cordova plugin
и получил список плагинов, то я использовал код для плагина удалить
cordova plugin remove com.monday.contact-chooser
вы можете получить помощь в командной строке набрав
cordova help <command>
Скрипты, основанные на обработке списка установленных плагинов,могут не работать, поскольку существуют зависимости между установленными плагинами (e, g, cordova-plugin-file и cordova-plugin-file-transfer).
в Примере скрипт сначала найдет файловый плагин, затем попытается его удалить, и мы получим ошибку, так как для этого требуется передача файлов. Поэтому у нас будет
при выполнении команды:
cordova plugin remove <PLUGIN NAME>
, убедитесь, что вы не добавляете номер версии к имени плагина. Просто имя плагина, например:cordova plugin remove cordova.plugin_name
и
cordova plugin remove cordova.plugin_name 0.01
или
cordova plugin remove "cordova.plugin_name 0.01"
если есть проблема с привилегиями, запустите sudo, если вы находитесь в системе *nix, например:
sudo cordova plugin remove cordova.plugin_name
затем вы можете добавить --save удалить файл config.XML-файл. Например:
cordova plugin remove cordova.plugin_name --save
- открыть папку
- список плагинов (cordova plugin list)
- ионный cordova плагин удалить "pluginName"
должно быть прекрасно!
Если вышеуказанное решение не сработало, и вы получили необработанный отказ от обещания, попробуйте выполнить следующие шаги:
очистите проект Кордова
Кордова чистый!--1-->
- удалить платформе
Кордова платформа удалить android / ios
- затем удалить плагин
cordova плагин удалить
- добавить платформы и запустить проект Это сработало для меня.