it-swarm.com.ru

Удаление плагинов Cordova из проекта

Каким-то образом в моем приложении установлены многие плагины Cordova, и поэтому ему требуется доступ практически ко всему - от моих контактов до текущего местоположения (даже если это приложение не нуждается в этом). 

Это приложение построено с помощью jenkins, и, насколько я понимаю, одним из решений является удаление каждого плагина одной командой, поэтому оно будет выглядеть так:

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

Но иногда он показывает некоторые ошибки и с jenkins любая ошибка заканчивается неудачей сборки, так есть ли какая-нибудь команда, которая удаляет все плагины? (во время установки плагины, для работы которых требуется любое приложение, добавляются автоматически через cordova, поэтому я искал cordova plugin rm -all, но не смог его найти)

86
mmmm

Во-первых, вы должны перечислить ваши плагины:

cordova plugin list

С этим результатом вы можете просто сделать:

cordova plugin remove <PLUGIN_NAME>

Например:

cordova plugin remove org.Apache.cordova.media

Надеюсь, поможет.

206
ruhanbidart

Вы можете сделать это и с помощью bash (после перехода в каталог проекта Cordova):

for i in `cordova plugin ls | grep '^[^ ]*' -o`; do cordova plugin rm $i; done
14
JVE999

С терминала (osx) я обычно пользуюсь

cordova plugin -l | xargs cordova plugins rm

Труба, труба все!

Чтобы немного расширить: эта команда перебирает результаты cordova plugin -l и передает их в cordova plugins rm.

xargs - одна из тех команд, о которой вы удивляетесь, почему раньше не знали. Смотрите это тут.

9
kuzyn

Вы можете использовать: cordova plugins list | awk '{print $1}' | xargs cordova plugins rm

и используйте cordova plugins list, чтобы проверить, все ли плагины удалены.

9
Hamid

v2.0.0 из cordova-check-plugins позволяет удалить все плагины в проекте:

$ npm install -g cordova-check-plugins
$ cordova-check-plugins --remove-all

Он попытается использовать Cordova CLI для удаления каждого плагина, но если это не удастся, он принудительно удалит плагин из platforms/ и plugins/.

Если вы также хотите удалить из config.xml, используйте:

$ cordova-check-plugins --remove-all --save

Отказ от ответственности: я являюсь автором Cordova-Check-плагинов

8
DaveAlden

Я делаю это с помощью этой строки Python:

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]"

Очевидно, что он не обрабатывает какие-либо условия ошибки, но он выполняет свою работу.

4
Matthew Purdon

Это командная строка для удаления плагинов в Cordova

cordova plugin remove <pluginid>

Например, я запустил cordova plugin и получил список плагинов, затем я использовал идентификатор плагина для удаления

cordova plugin remove com.monday.contact-chooser

Вы можете получить помощь в командной строке, набрав

cordova help <command>

1
Jack Shultz

Насколько я помню из Cordova, у вас должен быть xml-файл в папке "res", содержащий список плагинов, используемых в вашем проекте. Возможно, вам нужно удалить эти неиспользуемые плагины из списка. А также вы должны удалить связанные файлы.

1
osayilgan

Скрипты, основанные на обработке списка установленных плагинов, могут не работать, так как существуют различия между установленными плагинами (например, cordova-plugin-file и cordova-plugin-file-Transfer).

В этом примере скрипт сначала найдет плагин файла, затем попытается удалить его, и мы получим ошибку, как того требует передача файла. Поэтому мы будем иметь 

1
Nacho Marín

При выполнении команды: 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
0
franc

Если вышеуказанное решение не сработало и вы получили необоснованное отклонение обещания, попробуйте выполнить следующие действия:

  1. Очистить проект Кордова

    кордова чистый

    1. Удалить платформу

платформа cordova удалить Android/ios

  1. Затем удалите плагин

плагин Cordova удалить 

  1. добавьте платформы и запустите проект. У меня это сработало.
0
rahul.sapkal23
cordova platform rm Android

cordova plugin rm cordova-plugin-firebase

cordova platform add Android
0
user9972736
  • получить доступ к папке
  • список плагинов (список плагинов Cordova)
  • плагин ionic cordova удалить "pluginName"

Все должно быть в порядке!

0
Mekkush