16

这在开发过程中似乎是随机发生的。尝试运行npm startorreact-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实际上确实 listreact-native-vector-icons作为模块的名称???

如果我删除该文件,则错误不再发生,但打包程序卡在 93% 并抱怨找不到完全不相关的库。

我吹走了我的回购,甚至重新安装了所有东西,包括npm, rnpm,甚至升级node. 我正在运行与我的队友相同的所有版本,他们能够毫无问题地运行打包程序。

4

4 回答 4

8

将其发布为答案,以防其他人将来遇到此问题。

npm start当节点包管理器运行初始构建阶段时,使用sudo权限运行会授予正确的权限。这似乎仅在您运行的 shell/用户具有受限权限时才会发生。强制将权限升级到 sudo 使包管理器可以完全控制以完成构建。

于 2016-08-11T01:30:01.137 回答
4

我收到了类似的错误

Failed to build DependencyGraph: @providesModule naming collision:
Failed to build DependencyGraph: @providesModule naming collision:
Duplicate module name: accepts
Duplicate module name: accepts

我通过删除 npm 的缓存并.npm重新运行来解决它packager--reset-cache

rm -rf ~/.npm
于 2016-10-24T21:11:56.510 回答
4

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

每次都会修复它。注册护士 0.39.2

编辑:后来,我想我通过取消链接来解决这个问题react-native-vector-icons;我认为我得到的指示让我在链接上加倍努力,或者不知何故已经过时了。

于 2016-12-31T02:08:16.170 回答
3

在清理 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

于 2017-05-03T13:57:47.093 回答