如何解决codemagic中的“致命错误:找不到模块'barcode_scan'”?

Posted

技术标签:

【中文标题】如何解决codemagic中的“致命错误:找不到模块\'barcode_scan\'”?【英文标题】:How to solve "fatal error: module 'barcode_scan' not found" in codemagic?如何解决codemagic中的“致命错误:找不到模块'barcode_scan'”? 【发布时间】:2021-02-24 20:56:06 【问题描述】:

我用flutter和android studio创建了一个android应用程序,一切都很好,它已经构建、测试和部署,现在我正在尝试使用相同的代码库构建一个ios版本,但我没有mac .. . 所以,我正在使用 codemagic.io 来构建 ios 应用程序,但是当我尝试构建应用程序时,它会抛出这个错误:

错误是由this包引起的,它说找不到,但我不知道该怎么做,因为在我在android studio中构建的android版本中它工作得很好,我什至尝试在 codemagic 中构建一个 apk,它也可以工作,这个问题是 ios 特有的。有什么帮助吗?

【问题讨论】:

【参考方案1】:

您需要将包添加到您的 pubspec.yaml 文件中。

  dependencies:
    barcode_scan: ^3.0.1

之后,您需要使用以下命令安装软件包:

  flutter pub get

您可以阅读更多from here。

【讨论】:

三重检查,问题不在于依赖项,我使用我在 android 版本中使用的相同代码来构建 ios 版本......问题出在 codemagic 中,不知何故,找不到模块。 你解决了吗?我也有同样的问题。 我在Xcode中也遇到过同样的问题,我认为是ios最小目标和包的兼容性问题【参考方案2】:

在许多情况下,这实际上是由于版本不一致造成的。 pub 页面似乎表明,barcode_scan 的最低必要部署目标是 11。

因此,我建议您尝试检查您的 iOS 部署目标和版本是否在整个项目中设置为 11 - 显而易见的地方:project.pbxproj、AppFrameworkInfo.plist 和您的 podfile。

我认为在尝试构建和运行 flutter clean 之前删除 pubspec.lock 和 podfile.lock 文件也是安全的。

【讨论】:

对不起,回答迟了...我更改了部署目标但它不起作用,如何删除 pubspec.lock 文件并运行flutter clean?在预构建脚本中,我完全是这个 CI 的菜鸟。 如果 pubspec.lock 文件存在,那么它在你的存储库中,你可以删除它,如果你愿意,你可以在预构建脚本中运行,是的。我还会尝试查看 Codemagic 松弛频道以获得更快的帮助。 我想我会接受这个宽松的建议,因为即使在这之后问题仍然存在。

以上是关于如何解决codemagic中的“致命错误:找不到模块'barcode_scan'”?的主要内容,如果未能解决你的问题,请参考以下文章

如何在codemagic中创建podfile?

Codemagic 不适用于 iOS 中的自定义运行脚本?

使用 Codemagic 编译 IOS 失败

如何避免在codemagic中从git触发构建

如何在 Codemagic 中指定目标平台 ios 版本号

Codemagic 错误 无效的加密密钥 - 加密的变量仅适用于创建它们的同一团队中的构建