gpt4 book ai didi

javascript - 运行 packager 时 React Native 命名冲突错误,由 "lodash"和 "yeoman-generator"引起

转载 作者:行者123 更新时间:2023-12-03 16:44:56 25 4
gpt4 key购买 nike

描述

在我的项目中,我使用了 "react-native": "0.36.0" 和依赖项:

  • "lodash": "^4.15.0"
  • "yeoman-generator": "^0.24.1"

"^3.10.1" 用于 "lodash""0.21.2" 用于 "yeoman-generator” 在运行 packager 时,我在 “lodash”“inquirer”“cli-width” 上发生命名冲突.

复制

具有上述依赖项并运行:react-native start --reset-cache

结果:

jest-haste-map: @providesModule naming collision:
Duplicate module name: inquirer
Paths: /CoolProject/node_modules/react-native/node_modules/yeoman-generator/node_modules/inquirer/package.json collides with /CoolProject/node_modules/react-native/node_modules/inquirer/package.json

This warning is caused by a @providesModule declaration with the same name across two different files.
jest-haste-map: @providesModule naming collision:
Duplicate module name: lodash
Paths: /CoolProject/node_modules/react-native/node_modules/lodash/package.json collides with /CoolProject/node_modules/react-native/node_modules/inquirer/node_modules/lodash/package.json

This warning is caused by a @providesModule declaration with the same name across two different files.
jest-haste-map: @providesModule naming collision:
Duplicate module name: cli-width
Paths: /CoolProject/node_modules/react-native/node_modules/yeoman-generator/node_modules/cli-width/package.json collides with /CoolProject/node_modules/react-native/node_modules/cli-width/package.json

This warning is caused by a @providesModule declaration with the same name across two different files.

解决方案

"lodash""yeoman-generator" 使用与 react-native@0.36.0 相同的版本(即 “^3.10.1” 用于 “lodash”“0.21.2” 用于 “yeoman-generator”) 解决了这个问题,但改变它们目前对我来说真的不是一个选项,特别是因为 "yeoman-generator" 是另一个依赖项的依赖项。还有其他可能的解决方法吗?

谢谢!

更新

有关此问题的更多详细信息可以在我发布的 react-native Gihub 问题中找到:https://github.com/facebook/react-native/issues/11200

更新2

react-native升级到0.39即可解决问题。实际的修复似乎是删除明显未使用(并且可能已过时)的 yeoman-generator 依赖项:https://github.com/facebook/react-native/commit/1fd7a574ba538d05da4be841c84a70766464ec13

最佳答案

这通常发生在您使用 React Native 安装模块或设置项目时从 npm 切换到 yarn 时。一个简单的 npm install 通常可以解决这个问题,而不会损坏项目的配置。

npm install 将通知您一些模块已弃用或设置为与 React Native 不同的版本,并采取必要的措施来修复它。另外,如果你真的想清理你的配置,请注意 npm WARN gentlyRm 关于被搁置但没有删除的包的警告。

关于javascript - 运行 packager 时 React Native 命名冲突错误,由 "lodash"和 "yeoman-generator"引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40887249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com