繁体   English   中英

使用 expo 轻松构建时出现依赖错误

[英]Dependecies error while eas build with expo

在尝试使用 expo 构建 .apk 文件时,出现此错误:

[标准错误] npm

[标准错误] 错误! 代码 ERESOLVE

[标准错误] npm

[标准错误] 错误! ERESOLVE 无法解析

[标准错误] npm 错误!

[标准错误] npm

[stderr] ERR:解析时。 @react-native-google-signin/google-signin@8.2.1

[标准错误] npm

[stderr] 错误:找到。 @expo/config-plugins@5.0.4

[标准错误] npm 错误! node_modules/@expo/配置插件

[标准错误] npm 错误。 来自根项目的@expo/config-plugins@"^5.0.4"

[标准错误] npm 错误!

[stderr] 来自@expo/cli@0.4.9 的@expo/config-plugins@"~5.0.3"

[标准错误] npm 错误! 节点模块/@expo/cli

[标准错误] npm 错误。 @expo/cli@来自 expo@47.0.5 的“0.4.9”

[标准错误] npm 错误! 节点模块/博览会

[标准错误] npm 错误。 来自根项目的 expo@"~47.0.5"

[stderr] npm ERR,还有 12 个(expo-application、expo-constants、expo-dev-client。...)

[stderr] npm ERR,另外 5 个(@expo/config,@expo/prebuild-config。...)

[标准错误] npm 错误!

[stderr] npm ERR:无法解析依赖项:

[标准错误] npm 错误。 来自@react-native-google-signin/google-signin@8.2.1 的 peerOptional @expo/config-plugins@"^4.1.0"

[标准错误] npm 错误! node_modules/@react-native-google-signin/google-signin

[标准错误] npm 错误。 来自根项目的@react-native-google-signin/google-signin@"^8.2.1"

[标准错误] npm 错误!

[标准错误] npm

[stderr] ERR:冲突的对等依赖性。 @expo/config-plugins@4.1.5

[标准错误] npm 错误! node_modules/@expo/配置插件

[标准错误] npm 错误。 来自@react-native-google-signin/google-signin@8.2.1 的 peerOptional @expo/config-plugins@"^4.1.0"

[标准错误] npm 错误! node_modules/@react-native-google-signin/google-signin

[标准错误] npm 错误。 来自根项目的@react-native-google-signin/google-signin@"^8.2.1"

[标准错误] npm 错误!

[stderr] npm ERR,修复上游依赖冲突,或者重试

[stderr] npm ERR,此命令带有 --force 或 --legacy-peer-deps

[标准错误] npm 错误。 接受不正确(并且可能损坏)的依赖项解析。

谁能向我解释我该如何解决? 我已经尝试过 --force, npm install, --legacy--peer-deps 但没有...

提前致谢 !!

发生这种情况是因为@react-native-google-signin/google-signin对旧版本的@expo/config-plugins具有对等依赖性。 如果您在本地看不到此信息,那么您可能使用的是旧版本的 npm - 此错误消息将出现在 npm 7 及更高版本中,因为该版本中的对等依赖处理方式发生了变化。 看到这个问题

您可以执行以下任一操作来解决它:

  • 在 EAS Build 上设置 npm 版本以匹配您的本地版本。 您可以通过在EAS Build 预安装挂钩中安装特定的 npm 版本来执行此操作
  • EAS Build 预安装挂钩中设置 legacy peer deps 选项: npm config set legacy-peer-deps true
  • 在你的项目中创建一个.npmrc ,在其中将legacy-peer-deps设置为 true,将其添加到 git
  • 切换到yarn classic:安装yarn classic,删除package-lock.json ,在项目中运行yarn生成yarn.lock ,运行build。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM