Cordova 플러그인을 업데이트하는 더 쉬운 방법이 있는지 궁금합니다.
나는 봤고, 후크를 찾았지만 (@ 2013 년), 이것은 내가 원하는 100 %가 아니다.
두 단계로이 작업을 수행 할 수 있다는 것을 알고 있습니다. rm, 그런 다음 추가하지만 어떤 플러그인에 최신 버전이 있는지 더 나은 (공식적인) 방법을 찾고 있습니까? 한 명령으로 모두 업데이트 할 수 있습니다. (예 : npm 업데이트)
예를 들면 :
$ cordova plugin list
/* list all installed plugins, their dependencies, and newer versions */
$ cordova plugin update
/* update all of them for me */
공식적인 방법이 없다면 다른 도우미가 있습니까? 에야디야?
답변
플러그인 업데이트를 수동으로 확인하는 데 지쳐서 나를 위해 도구를 만들었습니다 : https://github.com/dpa99c/cordova-check-plugins
전 세계적으로 설치하십시오.
$ npm install -g cordova-check-plugins
그런 다음 Cordova 프로젝트의 루트에서 실행하십시오. 예를 들어 대화식 또는 자동으로 오래된 플러그인을 선택적으로 업데이트 할 수 있습니다.
$ cordova-check-plugins --update=auto
답변
업데이트 할 수 없습니다. 할 수있는 일은 cordova 플러그인을 제거하고 다시 추가하는 것입니다.
cordova plugin rm https://github.com/apache/cordova-plugin-camera --save
cordova plugin add https://github.com/apache/cordova-plugin-camera --save
답변
이온 상태는 ionic@3.7.0 에서처럼 사용되지 않습니다.
ionic 및 ionic cli를 사용하는 경우 다음을 실행할 수 있습니다.
ionic state reset
모든 플러그인 정보가 이전에 package.json에 저장되어있는 한 기본적으로 모든 플러그인에 대해 rm / add를 수행합니다. 이것은 또한 당신의 플랫폼을 rm / add 할 것이라는 점에 유의하십시오. 그러나 그것은 중요하지 않습니다.
이는 저장소에서 플러그인 폴더를 무시하고 다른 컴퓨터에서 프로젝트를 설정하려는 경우에도 좋습니다.
분명히 이것은 질문에 직접 답하지 않지만 현재 많은 사람들이 두 가지를 모두 사용하고 있으며 여기서 끝날 것입니다.
답변
npmjs.org에서 다른 답변을 찾았습니다.
https://www.npmjs.com/package/cordova-plugin-update
기본적으로 프로젝트에 도구 설치 :
npm install -g cordova-plugin-update
완료되면 다음 명령을 실행해야합니다.
cordova-plugin-update
최신 버전의 플러그인을 사용할 수 있으면 업데이트하라는 메시지가 표시됩니다.
답변
다음은 내가 사용하는 bash 스크립트이며 OSX 10.11.3에서 작동합니다.
#!/bin/bash
PLUGINS=$(cordova plugin list | awk '{print $1}')
for PLUGIN in $PLUGINS; do
cordova plugin rm $PLUGIN --save && cordova plugin add $PLUGIN --save
done
shan의 의견에 따라 충돌이있는 경우 도움이 될 수 있습니다 . 차이점은 --force
제거 할 때 플래그 가 추가 된다는 것입니다.
#!/bin/bash
PLUGINS=$(cordova plugin list | awk '{print $1}')
for PLUGIN in $PLUGINS; do
cordova plugin rm $PLUGIN --force --save && cordova plugin add $PLUGIN --save
done
답변
이것은 하나의 명령으로 모든 플러그인을 업데이트하는 Windows Batch 버전입니다.
사용하는 방법:
명령 줄에서 프로젝트의 동일한 폴더에서 다음을 실행합니다.
c:\> batchNameFile
또는
c:\> batchNameFile autoupdate
여기서 “batchNameFile”은 아래 스크립트가있는 .BAT 파일의 이름입니다.
테스트 전용 (첫 번째 예) 또는 사용 가능한 모든 업데이트 강제 적용 (두 번째 예)
@echo off
cls
set pluginListFile=update.plugin.list
if exist %pluginListFile% del %pluginListFile%
Echo "Reading installed Plugins"
Call cordova plugins > %pluginListFile%
echo.
for /F "tokens=1,2 delims= " %%a in ( %pluginListFile% ) do (
Echo "Checking online version for %%a"
for /F "delims=" %%I in ( 'npm info %%a version' ) do (
Echo "Local : %%b"
Echo "Online: %%I"
if %%b LSS %%I Call :toUpdate %%a %~1
:cont
echo.
)
)
if exist %pluginListFile% del %pluginListFile%
Exit /B
:toUpdate
Echo "Need Update !"
if '%~2' == 'autoupdate' Call :DoUpdate %~1
goto cont
:DoUpdate
Echo "Removing Plugin"
Call cordova plugin rm %~1
Echo "Adding Plugin"
Call cordova plugin add %~1
goto cont
이 배치는 Windows 10에서만 테스트되었습니다.