由于插件错误,Phonegap无法构建

时间:2017-12-13 13:05:23

标签: android command-line-interface phonegap

我的应用程序总是通过PhoneGap CLI构建得很好。

我离开了几个星期,今天尝试重建(没有代码更改),而且我有一个错误的世界。

  

错误 - 插件错误(您可能需要从中删除插件文件)   你的应用程序):获取插件" cordova-plugin-file-transfer@^1.6.3"通过   npm安装" cordova-plugin-file-transfer" at" 1.7.0"对于Android   无法安装&#cord; cordova-plugin-file-transfer':CordovaError:   已安装插件的版本:" cordova-plugin-file@4.3.3"才不是   满足依赖插件要求" cordova-plugin-file@^5.0.0"。   尝试--force使用已安装的插件作为依赖项。在   /home/ec2-user/.npm/lib/node_modules/pgb-plugman/node_modules/pgb-cordova-lib/src/plugman/install.js:581:33   在_fulfilled   (/home/ec2-user/.npm/lib/node_modules/pgb-plugman/node_modules/q/q.js:787:54)   在self.promiseDispatch.done   (/home/ec2-user/.npm/lib/node_modules/pgb-plugman/node_modules/q/q.js:816:30)   在Promise.promise.promiseDispatch   (/home/ec2-user/.npm/lib/node_modules/pgb-plugman/node_modules/q/q.js:749:13)   在   /home/ec2-user/.npm/lib/node_modules/pgb-plugman/node_modules/q/q.js:509:49   在同花顺   (/home/ec2-user/.npm/lib/node_modules/pgb-plugman/node_modules/q/q.js:108:17)   在_combinedTickCallback(内部/进程/ next_tick.js:67:7)at   process._tickCallback(internal / process / next_tick.js:98:9)版本   安装插件:" cordova-plugin-file@4.3.3"不满足   依赖插件要求" cordova-plugin-file@^5.0.0"。尝试   --force使用已安装的插件作为依赖项。 - 你可以在这里解决这个问题

"你可以在这里解决这个问题"引导我这个:

  

导致此错误的最可能原因是您有错误   在您的应用包中包含插件javascript文件,例如   barcodescanner.js,GAPlugin.js,cdv-plugin-fb-connect.js或任何其他   插件文件,例如childbrowser assets目录。

     

以前我们使用pluginstall来安装插件,这很简单   覆盖应用中的文件。但是我们最近迁移到了plugman,   它不会覆盖这些文件而是会失败。 所以请确保   你删除了它们! [我的大胆]

我不知道这意味着什么。当我需要这些插件时,为什么要删除插件文件?我是否因为某些原因需要重新安装所有插件,或者有什么方法可以在所有播放球时恢复到以前的PG版本? (这假设发生了这种情况,因为最近PG工作的方式发生了变化。)

如果有人能指出我正确的方向,远离这个巨大的头痛,那就不胜感激了!

2 个答案:

答案 0 :(得分:0)

好的,所以经过大量的挖掘后,似乎你必须强制配置XML文件使用某些版本的插件。

这似乎很疯狂,因为在这样做的情况下,如果您依赖的功能在一个版本的插件中可用而在另一个版本中不可用,那么您无法保证您的应用仍然有用。

尽管如此,this post让我想到了这一点:

<plugin name="cordova-plugin-camera" spec="~2.4.1" />
<plugin name="cordova-plugin-file" spec="~4.3.1" />
<plugin name="cordova-plugin-file-transfer" spec="~1.6.1" />

这确实让我的应用程序超越了构建过程,并且表面上和经过最小程度的检查后,它似乎仍然有效,但它似乎仍然是一件非常可怕的事情。我把它留在这里以防它对任何人都有帮助。

答案 1 :(得分:0)

您需要删除cordova插件(如果使用phonegap):

git diff-index --name-only HEAD