【问题标题】:Phonegap fails to build due to plugin errors由于插件错误,Phonegap 无法构建
【发布时间】:2017-12-13 13:05:22
【问题描述】:

我有一个始终可以通过 PhoneGap CLI 构建的应用。

我把它放了几个星期,今天尝试重建(没有代码更改),我遇到了很多错误。

错误 - 插件错误(您可能需要从 你的应用程序):通过获取插件“cordova-plugin-file-transfer@^1.6.3” npm 在“1.7.0”为 android 安装“cordova-plugin-file-transfer” 无法安装“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 在_履行 (/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 (internal/process/next_tick.js:67:7) 在 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 或任何其他 插件文件,例如子浏览器资产目录。

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

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

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

【问题讨论】:

    标签: android command-line-interface phonegap


    【解决方案1】:

    好的,经过大量研究,您似乎必须强制配置 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" />
    

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

    【讨论】:

      【解决方案2】:

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

      cordova plugin rm cordova-plugin-file-transfer
      

      【讨论】:

        猜你喜欢
        • 2018-08-12
        • 1970-01-01
        • 1970-01-01
        • 2016-09-30
        • 1970-01-01
        • 2019-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多