De alguma forma, em meu aplicativo muitos dos plug-ins do Cordova estão instalados e por isso requer acesso a quase tudo - dos meus contatos à localização atual (embora este aplicativo não precise disso).
Este aplicativo é construído via Jenkins e, pelo que entendi, uma solução é remover todos os plug-ins com um único comando, então será assim:
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
Mas às vezes mostra alguns erros e com jenkins qualquer erro termina com falha de construção, então existe algum comando que exclui todos os plug-ins? (durante a instalação, plug-ins básicos que requerem qualquer aplicativo para funcionar são adicionados automaticamente via cordova, então eu estava procurando por alguns, cordova plugin rm -all
mas não consegui encontrar)
Respostas:
Primeiro, você deve listar seus plug-ins:
Com este resultado, você pode simplesmente fazer:
Por exemplo:
Espero que ajude.
fonte
cordova plugin remove <PLUGIN_NAME> --save
para que seja removido automaticamente de config.xmlVocê também pode fazer isso com o bash (após alternar para o diretório do projeto Cordova):
fonte
Você pode usar:
cordova plugins list | awk '{print $1}' | xargs cordova plugins rm
e use
cordova plugins list
para verificar se todos os plug-ins foram removidos.fonte
Error: Plugin "{}" is not present in the project. See `cordova plugin list`
cordova plugins ls
e então veja se você pode remover os plugins um por um usandocordova plugins rm plugin_name
. Pelo erro, parece que um dos plug-ins não está fisicamente presente em seu projeto. Usando este método, você pode encontrar esse plugin.A v2.0.0 de cordova-check-plugins permite que você remova todos os plug-ins em um projeto:
Ele tentará usar a CLI do Cordova para remover cada plug-in, mas se falhar, forçará a remoção do plug-in de
platforms/
eplugins/
.Se você também deseja remover do config.xml, use:
Aviso de isenção de responsabilidade: eu sou o autor de cordova-check-plugins
fonte
C:\Users\yourusername\AppData\Roaming\npm
se você estiver executando no Windows ou/usr/local
no kernel UNIX. Você pode descobrir qual é o seu prefixo digitando terminal / commandnpm config get prefix
Do terminal (osx) eu costumo usar
Canalize, canalize tudo!
Para expandir um pouco: este comando irá percorrer os resultados de
cordova plugin -l
e alimentá-loscordova plugins rm
.xargs é um daqueles comandos que você quer saber por que você não sabia antes. Veja este tut.
fonte
Eu faço isso com este one-liner python:
Obviamente, ele não lida com nenhum tipo de condição de erro, mas realiza o trabalho.
fonte
Pelo que me lembro do Cordova, você deve ter um arquivo xml na pasta "res" contendo a lista de plug-ins usados em seu projeto. Você provavelmente precisará remover esses plug-ins não usados da lista. E também você deve remover os arquivos relacionados.
fonte
fonte
Esta é a linha de comando para remover plugins no Cordova
cordova plugin remove <pluginid>
Por exemplo, eu executei
cordova plugin
e recebi uma lista de plug-ins e usei o id do plug-in para desinstalarcordova plugin remove com.monday.contact-chooser
Você pode obter ajuda na linha de comando digitando
cordova help <command>
fonte
cordova plugin list
.Os scripts baseados no processamento da lista de plug-ins instalados podem não funcionar, pois há dependências entre os plug-ins instalados (por exemplo, cordova-plugin-file e cordova-plugin-file-transfer).
No exemplo, o script encontrará o plug-in de arquivo primeiro, depois tentará removê-lo e obteremos um erro, pois a transferência de arquivo exige. Portanto, devemos ter
fonte
--force
, que removeria o plug-in independentemente ...Ao executar o comando:,
cordova plugin remove <PLUGIN NAME>
certifique-se de não adicionar o número da versão ao nome do plugin. Simplesmente o nome do plugin, por exemplo:e não:
ou
Caso haja um problema de privilégio, execute com sudo se estiver em um sistema * nix, por exemplo:
Então você pode adicionar --save para removê-lo do arquivo config.xml. Por exemplo:
fonte
Deve ficar bem!
fonte
Se a solução acima não funcionar e você tiver uma rejeição de promessa não tratada, tente seguir as etapas:
Limpe o projeto Cordova
cordova limpa
plataforma cordova remover android / ios
remover plug-in cordova
fonte