これは、開発中に一見ランダムに発生しました。実行しようとすると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
パーミッションは、ノードパッケージマネージャーが最初のビルドフェーズを実行しているときに正しい特権を付与します。これは、実行しているシェル/ユーザーが制限された権限を持っている場合にのみ発生するようです。特権を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
を削除し、packager
を--reset-cache
で再実行することで解決しました
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
lib;私が得た指示は私をリンクで倍にさせたか、どういうわけか時代遅れであったと思います。
Nvmキャッシュを消去してすべてのnode_modulesを再インストールした後、react-native-router-fluxが原因でこの問題が発生していることに気付きました。
[email protected]
から[email protected]
へのダウングレードで修正しました
詳細はこちら: https://github.com/aksonov/react-native-router-flux/issues/1816