web-dev-qa-db-ja.com

1つのコマンドでcordovaプラグインを更新する

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 */

公式な方法がないのなら、他に手助けはありますか?よ?

114
Santino Wang

私は手動でプラグインの更新をチェックするのに飽きてしまったので、私のためにそれをするためのツールを作成しました: https://github.com/dpa99c/cordova-check-plugins

グローバルにインストールしてください。

$ npm install -g cordova-check-plugins

それからCordovaプロジェクトのルートから実行してください。対話的にまたは自動的に古いプラグインを更新することもできます。

$ cordova-check-plugins --update=auto

CLI screenshot

202
DaveAlden

更新することはできません。あなたができることはcordovaプラグインをアンインストールしてそれを再び追加することです。

cordova plugin rm https://github.com/Apache/cordova-plugin-camera --save
cordova plugin add https://github.com/Apache/cordova-plugin-camera --save
54
Mohammad Nurdin

イオン状態は[email protected]のように廃止予定です

もしあなたがイオン性イオンとイオン性クリップを使っているなら、あなたは走ることができます:

ionic state reset

すべてのプラグイン情報が以前にpackage.jsonに保存されている限り、これは基本的にすべてのプラグインに対してrm/addを実行します。これはあなたのプラットフォームも同様にrm /追加するでしょうが、それは問題ではないはずです。

リポジトリのプラグインフォルダを無視して別のマシンにプロジェクトを設定したい場合にも便利です。

明らかにこれは直接質問に答えるものではありませんが、多くの人が現在両方を使用していて、そしてここで終わるでしょう

51
Matt Way

これは私が使っている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
24
nick.graziano

Npmjs.orgから別の回答を見つけました

https://www.npmjs.com/package/cordova-plugin-update

基本的にそれはあなたのプロジェクトにツールをインストールすることです:

npm install -g cordova-plugin-update

完了したら、次にコマンドを実行する必要があります

cordova-plugin-update

新しいバージョンのプラグインが利用可能になった場合は、更新を促します。

23
Flash

これは、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でのみテストされています

7
Marco Scarnatto

PhoneGap/Cordova CLIを使ったプラグイン管理はとても面倒です。このブログ記事は、このようなことの始まりになるかもしれません - しかし、A)まだそれを活用する方法、またはB)それがどれほどうまく機能するかはよくわかりません。

http://nocurve.com/cordova-update-all-plugins-in-project

端末コマンドラインでスクリプト全体を実行しようとした私の最初の試みは、add/removeプラグインコマンドでテキストの出力を作成することでした...しかし実際には実行されず、端末にエコーされただけでした。彼らがもう少し説明することを願って私は著者に手を差し伸べた。

3
Chris Emerson

npm update -fその働き方

npm update -f

それはすべてのプラグインとcliを更新します

  • [email protected]
  • [email protected]
  • [email protected]
  • @イオンネイティブ/デバイス@ 4.6.0
  • @イオンネイティブ/スクリーン配向@ 4.6.0
  • @イオンネイティブ/ 1信号@ 4.6.0
  • @イオンネイティブ/ステータスバー@ 4.6.0
  • @イオンネイティブ/スプラッシュスクリーン@ 4.6.0
  • @イオンネイティブ/ core @ 4.6.0
  • @イオンネイティブ/ソーシャル共有@ 4.6.0
  • @ Angular/cli @ 1.7.3
  • [email protected]で322パッケージが追加され、256パッケージが削除され、91パッケージが更新され、8パッケージが350.86sに移動されました
3
M Ibrahim Hayat

あなたは更新することはできませんが、私は自分のプラグインを削除して再度インストールするバッチファイルを作成したので、この場合私のすべてのプラグインは自動的に更新されます。

@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
2
Pranay Dutta

cordovaプロジェクトディレクトリに移動して、書き込みます

npm outdated

npmoutdated pluginsを表示します。plugin outdatedがあれば、このコマンドを記述します

npm update

Console Preview

1
RKTUXYN

最も簡単な方法は、pluginsフォルダを削除することです。このコマンドを実行します。cordova prepareしかし、実行する前に、Cordovaのプラグインレポジトリ のWebサイト で、自分のビルドで動作すると思われる各プラグインのバージョンを確認できます。その後、手動でconfig.xmlファイルを変更する必要があります。ユニバーサルモデリング言語ファイル "config"のversionフィールドに、上のニンジン "^"を使用して、指定されたプラグインを将来(最新のコマンドを実行したときに)最新バージョンに更新することを示します。

1
Solumyr