Cordovaプラグインを更新するもっと簡単な方法はありますか?
私はグーグル、フックを見つけました(@ 2013年)が、これは私が望むものではありません。
私はこれを2つのステップで行うことができることを知っています。そして、それらすべてを1つのコマンドで更新できます。 (ちょうどのように:npm update)
例えば:
$ 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
イオン状態は[email protected]のように廃止予定です
もしあなたがイオン性イオンとイオン性クリップを使っているなら、あなたは走ることができます:
ionic state reset
すべてのプラグイン情報が以前にpackage.jsonに保存されている限り、これは基本的にすべてのプラグインに対してrm/addを実行します。これはあなたのプラットフォームも同様にrm /追加するでしょうが、それは問題ではないはずです。
リポジトリのプラグインフォルダを無視して別のマシンにプロジェクトを設定したい場合にも便利です。
明らかにこれは直接質問に答えるものではありませんが、多くの人が現在両方を使用していて、そしてここで終わるでしょう
これは私が使っているbashスクリプトです。OSX10.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's comment に従って役に立つかもしれません。違いは、削除時に--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
Npmjs.orgから別の回答を見つけました
https://www.npmjs.com/package/cordova-plugin-update
基本的にそれはあなたのプロジェクトにツールをインストールすることです:
npm install -g cordova-plugin-update
完了したら、次にコマンドを実行する必要があります
cordova-plugin-update
新しいバージョンのプラグインが利用可能になった場合は、更新を促します。
これは、1つのコマンドですべてのプラグインを更新するための私のWindowsバッチバージョンです。
使い方:
プロジェクトの同じフォルダで、コマンドラインから実行します。
c:\> batchNameFile
または
c:\> batchNameFile autoupdate
"batchNameFile"は.BATファイルの名前で、以下のスクリプトがあります。
テストのみ(最初の例)、またはすべての更新を有効にする(例2)
@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でのみテストされています
PhoneGap/Cordova CLIを使ったプラグイン管理はとても面倒です。このブログ記事は、このようなことの始まりになるかもしれません - しかし、A)まだそれを活用する方法、またはB)それがどれほどうまく機能するかはよくわかりません。
http://nocurve.com/cordova-update-all-plugins-in-project
端末コマンドラインでスクリプト全体を実行しようとした私の最初の試みは、add/removeプラグインコマンドでテキストの出力を作成することでした...しかし実際には実行されず、端末にエコーされただけでした。彼らがもう少し説明することを願って私は著者に手を差し伸べた。
npm update -f
その働き方
npm update -f
それはすべてのプラグインとcliを更新します
あなたは更新することはできませんが、私は自分のプラグインを削除して再度インストールするバッチファイルを作成したので、この場合私のすべてのプラグインは自動的に更新されます。
@echo off
for %%a in (
"com.ionic.keyboard"
"com.phonegap.plugins.PushPlugin"
"cordova-instagram-plugin"
"cordova-plugin-camera"
"cordova-plugin-crosswalk-webview"
"cordova-plugin-file"
"cordova-plugin-file-transfer"
) do call cordova plugin rm %%a
for %%b in (
"com.ionic.keyboard"
"com.phonegap.plugins.PushPlugin"
"cordova-instagram-plugin"
"cordova-plugin-camera"
"cordova-plugin-crosswalk-webview"
"cordova-plugin-file"
"cordova-plugin-file-transfer"
) do call cordova plugin add %%b
最も簡単な方法は、pluginsフォルダを削除することです。このコマンドを実行します。cordova prepare
しかし、実行する前に、Cordovaのプラグインレポジトリ のWebサイト で、自分のビルドで動作すると思われる各プラグインのバージョンを確認できます。その後、手動でconfig.xmlファイルを変更する必要があります。ユニバーサルモデリング言語ファイル "config"のversionフィールドに、上のニンジン "^"を使用して、指定されたプラグインを将来(最新のコマンドを実行したときに)最新バージョンに更新することを示します。