[cordova] 하나의 명령으로 Cordova 플러그인 업데이트

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

CLI 스크린 샷


답변

업데이트 할 수 없습니다. 할 수있는 일은 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에서만 테스트되었습니다.


답변

cordova프로젝트 디렉토리로 이동하여

npm outdated

npm당신의 표시가 될 것입니다 outdated plugins어떤 경우, plugin outdated다음이 명령을 쓰기

npm update

콘솔 미리보기