web-dev-qa-db-ja.com

反応ネイティブ、バンドル失敗

私はリアクションネイティブが初めてであり、まったく意味をなさないエラーを発見しました。

カレンダーライブラリを含めようとしています: https://github.com/wix/react-native-calendars

そのライブラリの依存関係をpackage.jsonファイルに含めて、npm installを実行しました

プロジェクトは正常に実行され、予想通りでした。プロジェクトに1行のコードを追加しただけです。

import { Calendar, CalendarList, Agenda } from 'react-native-calendars';

他に何もありません。しかし、今ではアプリがデバイスにロードされるときに赤いエラーメッセージが表示され、これは私のコンソールが言っていることです:

エラー:バンドルに失敗しました:エラー:ファイル/Users/Alex/Documents/workspace/mobile/node_modules/react-native-calendars/src/index.jsからモジュールxdateを解決しようとしたときに、パッケージ/Users/Alex/Documents/workspace/mobile/node_modules/xdate/package.jsonが正常に見つかりました。ただし、このパッケージ自体は、解決できなかったmainモジュールフィールドを指定しています(/Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js。実際、これらのファイルはいずれも存在しません。

* /Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json)

* ResolutionRequest.resolveDependencyで/Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js/index(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json)(/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:103:15)at DependencyGraph.resolveDependency(/ Users/Alex/Documents/workspace/mobile/node_modules/metro/src/node-haste/DependencyGraph.js:272:4579)at dependencies.map.relativePath(/ Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies) js:376:19)at Array.map()at resolveDependencies(/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js:374:16)at/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js:212:33 at Generator.next()at step(/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js :297:313)/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js:297:473 at

ただし、ディレクトリで確認しましたが、実際には/ Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.jsが存在します。ただし、この部分は表示されません:(.native || .ios.js | .native.js | .js | .ios.json | .native.json | .json) `

/ Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js/indexの存在方法についてxdate.jsはディレクトリではないため、意味があります。

助けがありますか?

11
Alexander C

通常、パッケージャーが開いているときにモジュールをインストールしようとすると発生します。

node_modulesフォルダーを削除して、packagerを閉じてください。次に、プロジェクトディレクトリのnpm installによってすべてを再インストールします。

45
Sarmad Shah

最初にJavaScriptバンドラー(私の場合はMetroバンドラー)を閉じて、アプリケーションを再起動します。これにより、新しい依存関係グラフが作成されます。これで問題が解決するはずです。

14
Sachin Poreyana

ノードモジュールフォルダーは削除しないでください。バンドラーは、ノードモジュールフォルダーをほとんど処理しません。

代わりに、すべてのターミナルを閉じます。 VS-codeを使用する場合は、それも閉じます。

すべてのローカルホストサーバーポートを閉じ、可能であればシステムを再起動します。これで問題が解決する場合があります。

0
Rishav Kumar

./node_modulesフォルダーを削除してnpm installを再度実行してもエラーが引き続き発生する場合は、--update-binaryフラグ、つまりnpm install --update-binaryを使用してインストールを実行してください。これにより、マシン上で以前にビルドされたパッケージがすべて消去され、再構築されます。

0
Raymond Lemon