2016-10-26 40 views
2

我在兩臺機器上工作在我的cordova項目上:macbook和一臺PC。 當我更新一臺機器上的插件時,在更改後沒有更新另一臺機器上的插件。用git跟蹤cordova插件可以解決這個問題,但看起來非常糟糕。目前我只跟蹤config.xml。根據config.xml更新cordova插件

當我嘗試執行: cordova plugin add cordova-plugin-my-plugin那隻能說明列表如下:

  • cordova plugin rm cordova-plugin-my-plugin
  • cordova plugin add [email protected]
  • ... 
    skipping existing file: android-1.png 
    skipping existing file: android-2.png 
    cp: dest file already exists: /Users/user/cordova-app/plugins/cordova-plugin-my-plugin/LICENSE 
    cp: dest file already exists: /Users/user/cordova-app/plugins/cordova-plugin-my-plugin/README.md 
    ... 
    

    所以它與每一個插件驢工作結束

有沒有人解決過這個問題?

回答

1

使用cordova plugin add [email protected] --save - 這會將插件npm名稱(或本地路徑或url)與版本一起放入​​3210。
然後cordova prepare將以保存的版本恢復插件。詳情請參閱https://cordova.apache.org/docs/en/6.x/platform_plugin_versioning_ref/index.html#saving-plugins

+0

謝謝,但最初我使用'--save'選項,因此包保存在config.xml中。問題是:當我在一臺計算機上更新軟件包時,它不會在第二次使用'cordova prepare'進行更新。 –

+0

你如何更新軟件包?是npm還是Github上的插件?什麼是你的配置。xml(與插件有關)? – daserge

+0

它是指定散列的github'' –

1

我有同樣的問題(保持安裝的插件與多個機器上的config.xml同步)。

我創建了一個工具 - cordova-check-plugins - 它允許你這樣做:

$ npm install -g cordova-check-plugins 

在V2.0.0,指定--target=config檢查對這些config.xml中指定的本地安裝的插件的版本,所以你可以看到哪些本地安裝的插件與config.xml相比是過時的。

要更新本地插件在config.xml文件中指定的那些版本,使用:

$ cordova-check-plugins --target=config --update=auto 

如果要執行這個,即使本地安裝的版本比在config.xml文件中指定的更高,用途:

$ cordova-check-plugins --target=config --update=auto --allow-downdate 

您可以檢查哪些插件具有遠程可用更新,交互方式更新它們,並使用保存更新版本到config.xml:

$ cordova-check-plugins --update=interactive --unconstrain-versions --save 
0

這個東西工作了一段時間後,在100%的情況下工作的方法是:

  • 刪除插件/ *
  • 刪除平臺/ *
  • 呼叫cordova prepare