React-Native Packager 失败:模块名称重复
React-Native Packager Failure: Duplicate module name
这似乎是在开发过程中随机发生的。尝试 运行 npm start
或 react-native run-ios
时,出现以下错误:
Failed to build DependencyGraph: @providesModule naming collision:
Duplicate module name: react-native-vector-icons
Paths: /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json collides with /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/Libraries/Animated/release/package.json
This error is caused by a @providesModule declaration with the same name accross two different files.
Error: @providesModule naming collision:
Duplicate module name: react-native-vector-icons
Paths: /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json collides with /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/Libraries/Animated/release/package.json
This error is caused by a @providesModule declaration with the same name accross two different files.
at HasteMap._updateHasteMap (/Users/chandlervdw/Repos/Relay/mobile/node_modules/node-haste/lib/DependencyGraph/HasteMap.js:162:15)
at /Users/chandlervdw/Repos/Relay/mobile/node_modules/node-haste/lib/DependencyGraph/HasteMap.js:140:25
奇怪的是,/Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json
实际上确实列出了 react-native-vector-icons
作为模块的名称???
如果我删除该文件,错误不再发生,但打包程序卡在 93% 并抱怨找不到完全不相关的库。
我炸毁了我的存储库,甚至重新安装了所有东西,包括 npm
、rnpm
,甚至升级了 node
。我 运行 与我的队友使用相同版本的所有内容,他们能够 运行 打包程序而不会出现问题。
将此作为答案发布,以防将来其他人遇到此问题。
运行 npm start
with sudo
权限在节点包管理器处于 运行 初始构建阶段时授予正确的权限。这似乎只有在您 运行 来自的 shell/user 具有受限权限时才会发生。强制升级到 sudo 的权限使包管理器可以完全控制以完成构建。
我收到类似
的错误
Failed to build DependencyGraph: @providesModule naming collision:
Failed to build DependencyGraph: @providesModule naming collision:
Duplicate module name: accepts
Duplicate module name: accepts
我通过删除 npm 的缓存 .npm
并使用 --reset-cache
重新运行 packager
解决了这个问题
rm -rf ~/.npm
sudo
或 chown
没有为我修复它。我从 同一个库 得到同样的错误,非常奇怪:
Failed to build DependencyGraph: @providesModule naming collision:
Duplicate module name: react-native-vector-icons
Paths: /Users/collumj/research/k9fresh/ios/build/Build/Products/Debug-iphonesimulator/kisharNine.app/package.json collides with /Users/collumj/research/k9fresh/node_modules/react-native/local-cli/core/__fixtures__/files/package.json
遇到这个就不用sudo
了。
警告:破坏性,先签到。
rm -rf android ios
git reset --hard
npm start
这每次都能解决。 RN 0.39.2
编辑:后来,我想我通过取消链接 react-native-vector-icons
库来解决这个问题;我认为我得到的说明让我在链接上加倍了,或者不知何故已经过时了。
清理 nvm 缓存并重新安装所有内容后 node_modules 我意识到我遇到这个问题是因为 react-native-router-flux。
我通过降级 将其修复,从 react-native-router-flux@3.38.1
到 react-native-router-flux@3.38.0
这里有更多详细信息:
https://github.com/aksonov/react-native-router-flux/issues/1816
这似乎是在开发过程中随机发生的。尝试 运行 npm start
或 react-native run-ios
时,出现以下错误:
Failed to build DependencyGraph: @providesModule naming collision:
Duplicate module name: react-native-vector-icons
Paths: /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json collides with /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/Libraries/Animated/release/package.json
This error is caused by a @providesModule declaration with the same name accross two different files.
Error: @providesModule naming collision:
Duplicate module name: react-native-vector-icons
Paths: /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json collides with /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/Libraries/Animated/release/package.json
This error is caused by a @providesModule declaration with the same name accross two different files.
at HasteMap._updateHasteMap (/Users/chandlervdw/Repos/Relay/mobile/node_modules/node-haste/lib/DependencyGraph/HasteMap.js:162:15)
at /Users/chandlervdw/Repos/Relay/mobile/node_modules/node-haste/lib/DependencyGraph/HasteMap.js:140:25
奇怪的是,/Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json
实际上确实列出了 react-native-vector-icons
作为模块的名称???
如果我删除该文件,错误不再发生,但打包程序卡在 93% 并抱怨找不到完全不相关的库。
我炸毁了我的存储库,甚至重新安装了所有东西,包括 npm
、rnpm
,甚至升级了 node
。我 运行 与我的队友使用相同版本的所有内容,他们能够 运行 打包程序而不会出现问题。
将此作为答案发布,以防将来其他人遇到此问题。
运行 npm start
with sudo
权限在节点包管理器处于 运行 初始构建阶段时授予正确的权限。这似乎只有在您 运行 来自的 shell/user 具有受限权限时才会发生。强制升级到 sudo 的权限使包管理器可以完全控制以完成构建。
我收到类似
的错误Failed to build DependencyGraph: @providesModule naming collision:
Failed to build DependencyGraph: @providesModule naming collision:
Duplicate module name: accepts
Duplicate module name: accepts
我通过删除 npm 的缓存 .npm
并使用 --reset-cache
packager
解决了这个问题
rm -rf ~/.npm
sudo
或 chown
没有为我修复它。我从 同一个库 得到同样的错误,非常奇怪:
Failed to build DependencyGraph: @providesModule naming collision:
Duplicate module name: react-native-vector-icons
Paths: /Users/collumj/research/k9fresh/ios/build/Build/Products/Debug-iphonesimulator/kisharNine.app/package.json collides with /Users/collumj/research/k9fresh/node_modules/react-native/local-cli/core/__fixtures__/files/package.json
遇到这个就不用sudo
了。
警告:破坏性,先签到。
rm -rf android ios
git reset --hard
npm start
这每次都能解决。 RN 0.39.2
编辑:后来,我想我通过取消链接 react-native-vector-icons
库来解决这个问题;我认为我得到的说明让我在链接上加倍了,或者不知何故已经过时了。
清理 nvm 缓存并重新安装所有内容后 node_modules 我意识到我遇到这个问题是因为 react-native-router-flux。
我通过降级 将其修复,从 react-native-router-flux@3.38.1
到 react-native-router-flux@3.38.0
这里有更多详细信息: https://github.com/aksonov/react-native-router-flux/issues/1816