私はリアクションネイティブが初めてであり、まったく意味をなさないエラーを発見しました。
カレンダーライブラリを含めようとしています: 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はディレクトリではないため、意味があります。
助けがありますか?
通常、パッケージャーが開いているときにモジュールをインストールしようとすると発生します。
node_modules
フォルダーを削除して、packager
を閉じてください。次に、プロジェクトディレクトリのnpm install
によってすべてを再インストールします。
最初にJavaScriptバンドラー(私の場合はMetroバンドラー)を閉じて、アプリケーションを再起動します。これにより、新しい依存関係グラフが作成されます。これで問題が解決するはずです。
ノードモジュールフォルダーは削除しないでください。バンドラーは、ノードモジュールフォルダーをほとんど処理しません。
代わりに、すべてのターミナルを閉じます。 VS-codeを使用する場合は、それも閉じます。
すべてのローカルホストサーバーポートを閉じ、可能であればシステムを再起動します。これで問題が解決する場合があります。
./node_modules
フォルダーを削除してnpm install
を再度実行してもエラーが引き続き発生する場合は、--update-binary
フラグ、つまりnpm install --update-binary
を使用してインストールを実行してください。これにより、マシン上で以前にビルドされたパッケージがすべて消去され、再構築されます。