【问题标题】:The correct version of cocoapod and cordova-plugin-firebase-authentication for cordova-ios 5.1.1cordova-ios 5.1.1 的 cocoapod 和 cordova-plugin-firebase-authentication 的正确版本
【发布时间】:2021-03-05 22:29:18
【问题描述】:

我有一个在 Android 上完美运行的应用程序:

离子 4 科尔多瓦 9 cordova-plugin-firebase-authentication 3.3.0

现在我想在 IOS 上实现它,我得到了各种错误。

我得到的第一个是cordova-plugin-firebase-authentication 3.3.0 版与cordova-ios 5.1.1(cordova 9 的默认版本)不兼容。它要求我使用高于 6 的 cordova-ios 版本,但该选项对我来说是不可能的,因为我的许多插件停止使用 cordova 10 和 cordova-ios 6.1.1。

所以我尝试降低 cordova-plugin-firebase-authentication 的版本,直到找到适用于 cordova-ios 5.1.1 和 cordova 9 的版本。

但从 3.2.0 版本开始,我收到以下错误:

Failed to install 'cordova-plugin-firebase-authentication': Error: pod: Command failed with exit code 1 Error output:

at ChildProcess.whenDone (/…node_modules/cordova-common/src/superspawn.js:135:23)
at ChildProcess.emit (events.js:314:20)
at maybeClose (internal/child_process.js:1021:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
For more information about you at the moment, I have cocoapod 1.10.0 installed.

这就是为什么我问你,如果你们中的任何人能够做到这一点,哪个版本的cordova-plugin-firebase-authentication 与cordova 9 和cordova-ios 5.1.1 配合得很好。 另外,用哪个版本的cocoapod,我会编译好?

干杯!

【问题讨论】:

    标签: ios cordova ionic-framework cordova-plugins


    【解决方案1】:

    问题在于使用不同版本复制相同的依赖项。要解决这个问题,你需要在同一个版本中对齐你的依赖。

    使用 Cordova 安装插件的过程分两个阶段进行;首先是在 Cordova 项目级别安装插件;这是在 package.json 和 config.xml 文件中注册插件及其变量,节点包的安装和插件文件夹中插件的下载。 Cordova 在第二阶段将插件分散到已安装的平台上,即负责执行此操作的 IOS cocoa pods。

    因此您可以手动执行此过程;当你运行一个插件的安装,发现错误在cocoapods中,说明它处于第二阶段;你可以去platforms中的ios文件夹下执行:

    pod install --verbose
    

    您将再次遇到同样的问题,但会提供更详细的错误描述。

    在您的情况下,这将是因为您的插件引用了不同版本的 Firebase。

    要解决这个问题,请打开 ios 文件夹中的 Podfile 文件,它会在所有使用 Firebase 的依赖项中设置相同的版本。

    稍后,再次运行

    pod install --verbose
    

    如果可行,请返回主项目中的 plugins 文件夹,并在每个插件的配置中,设置与通过 pod install 成功安装相同的值。

    现在,如果您想将它们保存在项目中或确保正确安装,您可以使用变量:

    ANDROID_FIREBASE_AUTH_VERSION
    IOS_FIREBASE_AUTH_VERSION
    

    要设置值,您需要使用 Cordova。

    【讨论】:

    • 很好的答案。当两个可可豆荚有冲突的依赖关系时怎么办?我有 pod 'Firebase/Messaging', '~> 7.4.0' 和 pod 'Firebase/Analytics', '~> 7.4.0'm 但一个需要 nanopb (~> 2.30908.0) 和另一个 nanopb (~> 2.30907.0)。
    • 您是否尝试过手动安装 nanopb v2.30907.0?也许这使得安装基于您放置的规范而不是遵循软件包的依赖关系告诉我它是如何进行的或您是如何解决的
    猜你喜欢
    • 2021-07-13
    • 2020-02-28
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 2023-03-22
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多