问题:
我的项目在尝试从命令行运行react-native run-ios
时有一个@providesModule naming collision
。它与另一个npm包esdoc创建的自动生成的目录dist/
冲突。我希望能够保留此自动生成的目录,并使react本机打包程序忽略dist/
目录。
错误信息:
[01/23/2017, 13:17:07] <START> Building Haste Map
Failed to build DependencyGraph: @providesModule naming collision:
Duplicate module name: ann
Paths: /Users/thurt/projects/example/package.json collides with /Users/thurt/projects/example/dist/esdoc/package.json
This error is caused by a @providesModule declaration with the same name across two different files.
Error: @providesModule naming collision:
Duplicate module name: ann
Paths: /Users/thurt/projects/example/package.json collides with /Users/thurt/projects/example/dist/esdoc/package.json
This error is caused by a @providesModule declaration with the same name across two different files.
at HasteMap._updateHasteMap (/Users/thurt/projects/example/node_modules/react-native/packager/react-packager/src/node-haste/DependencyGraph/HasteMap.js:158:13)
at p.getName.then.name (/Users/thurt/projects/example/node_modules/react-native/packager/react-packager/src/node-haste/DependencyGraph/HasteMap.js:133:31)
1条答案
按热度按时间5jdjgkvh1#
这个配置习惯于在RN版本之间改变。关于创建配置文件、加载配置文件和该高速缓存的版本特定说明,请参见下文。
对于React Native〉= 0.64至0.71(+?)
blacklist
toexclusionList
was made in Metro 0.60和配置项blacklistRE
->blockList
in Metro 0.61的重命名。这两个都是0.64.0版本RN中的landed。*在项目根目录中创建
metro.config.js
,其内容如下:对于React Native〉= 0.59,〈0.64
在项目根目录中创建
metro.config.js
,其内容如下:对于React Native〉= 0.57,〈0.59
在项目根目录中创建
rn-cli.config.js
,其内容如下:对于React Native〉= 0.52,〈0.57
在项目根目录中创建
rn-cli.config.js
,其内容如下:对于React Native〉= 0.46,〈0.52。
在项目根目录中创建
rn-cli.config.js
,其内容如下:对于React Native〈0.46。
在项目根目录中创建
rn-cli.config.js
,其内容如下:所有版本〈0.59
通过传递
--config
选项,让CLI命令使用此配置:x1米11米1x
(The RN〉= 0.59应自动拾取配置文件,因为它被重命名为
metro.config.js
)所有版本:关于缓存的说明
请注意,打包程序可能已将您的黑名单项目包含该高速缓存中,在这种情况下,您第一次运行包含黑名单的打包程序时,可能需要使用
--reset-cache
重置缓存