[解決済み] TypeError: cb.apply は関数ではありません。
質問
Metro Bundlerを使用する既存のReact Nativeプロジェクトを実行しようとしています。オペレーティング システムは Ubuntu 20.04 で、物理的な Android デバイスと Android Studio で作成した Android シミュレーターの両方で、アプリを実行しようと試みました。
プロジェクトのレポをクローンし、依存関係をインストールしました (
yarn
)、アプリをビルドし (
react-native run-android
) を作成し、携帯電話やシミュレータでアプリを開きました。しかし
react-native start
というエラーが出ます。
TypeError: cb.apply is not a function
. 以下は、実行時に得られる全情報とエラーです。
react-native start
:
$ react-native start
warn Your project is using deprecated "rnpm" config that will stop working from next release. Please use a "react-native.config.js" file to configure the React Native CLI. Migration guide: https://github.com/react-native-community/cli/blob/master/docs/configuration.md
warn The following packages use deprecated "rnpm" config that will stop working from next release:
- rn-fetch-blob: https://npmjs.com/package/rn-fetch-blob
Please notify their maintainers about it. You can find more details at https://github.com/react-native-community/cli/blob/master/docs/configuration.md#migration-guide.
┌──────────────────────────────────────────────────────────────────────────────┐
│ │
│ Running Metro Bundler on port 8081. │
│ │
│ Keep Metro running while developing on any JS projects. Feel free to │
│ close this tab and run your own Metro instance if you prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
warn Your project is using deprecated "rnpm" config that will stop working from next release. Please use a "react-native.config.js" file to configure the React Native CLI. Migration guide: https://github.com/react-native-community/cli/blob/master/docs/configuration.md
warn The following packages use deprecated "rnpm" config that will stop working from next release:
- rn-fetch-blob: https://npmjs.com/package/rn-fetch-blob
Please notify their maintainers about it. You can find more details at https://github.com/react-native-community/cli/blob/master/docs/configuration.md#migration-guide.
Looking for JS files in
/home/ggiuffre/Documents/squib/app
Loading dependency graph, done.
BUNDLE [android, dev] ./index.js ░░░░░░░░░░░░░░░░ 0.0% (0/1)/home/ggiuffre/Documents/squib/app/node_modules/@react-native-community/cli/node_modules/graceful-fs/polyfills.js:285
if (cb) cb.apply(this, arguments)
^
TypeError: cb.apply is not a function
at /home/ggiuffre/Documents/squib/app/node_modules/@react-native-community/cli/node_modules/graceful-fs/polyfills.js:285:20
at FSReqCallback.oncomplete (fs.js:169:5)
インストール
graceful-fs
(が推奨する
別記事
を実行しても、何も変わらず、同じエラーが発生します。
何が問題なのでしょうか?よろしくお願いします。
解決方法を教えてください。
CI上では非常に似たような問題がありましたが、ローカルマシン(Node 13)では正常に動作しています。CIでは、2ヶ月前にリリースしたコードでCircleCIやAppCenterでプロジェクトをビルドすると、以下のようなエラーを投げます。まるでnodeが動的に壊れてしまったかのような、意味不明な状態です。
同じコードをノード10、12、14でテストしましたが、現在はノード10(10.22.0)だけで動作しています。
私が出たエラー
/home/circleci/my-app/node_modules/@react-native-community/cli/node_modules/graceful-fs/polyfills.js:285
if (cb) cb.apply(this, arguments)
^
TypeError: cb.apply is not a function
at /home/circleci/my-app/node_modules/@react-native-community/cli/node_modules/graceful-fs/polyfills.js:285:20
at FSReqCallback.oncomplete (fs.js:169:5)
> Task :app:bundleReleaseJsAndAssets FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:bundleReleaseJsAndAssets'.
> Process 'command 'node'' finished with non-zero exit value 1
アップデイト
私の問題を解決してくれたのは、解決策を
package.json
は、graceful-fs の "4.2.4" より前のバージョンを使用する lib を許可しないようにするためです。これで、node12で再び動作するようになりました。
追記:忘れずに
yarn
または
npm run install
を更新してください。
.lock
. この解決策がうまくいかない場合は、以下のコメントを追加してください。
スレッド
Node 12.18.3でのこの問題に関して
"devDependencies": {
...
},
"resolutions": {
"graceful-fs": "4.2.4"
},
関連
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み】Android Studioの初回起動。Android SDKアドオンリストにアクセスできない
-
[解決済み】Android Studioです。「プロジェクトが C ドライブに作成されている場合、「タスク ':app:mergeDebugResources' の実行に失敗しました。
-
[解決済み】リストビューにonclicklistenerを追加する(android)
-
[解決済み】apkファイルのインストール中に「パッケージが破損しているようです」というエラーが発生する。
-
[解決済み】Android Studio。Android.support.design.widget.FloatingActionButton クラスを膨らませるのにエラーが発生する。
-
[解決済み】Couldn't load memtrack module Logcat Error
-
[解決済み】android.content.res.Resources$NotFoundExceptionの取得:androidにリソースが存在する場合でも例外が発生する。
-
[解決済み] Gradle DSL メソッドが見つかりません:'compile()'
-
[解決済み] android.intent.action.MAINの意味は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】AndroidのSSL接続でトラストアンカーが見つからない
-
[解決済み] [Solved] Unsupported method: ベースコンフィグ.getApplicationIdSuffix()
-
[解決済み】新しいAVDを作成すると、CPU/ABIフィールドに「システムイメージがインストールされていません」と表示される。
-
[解決済み】Build Tools リビジョン 23.0.1 の検索に失敗しました。
-
[解決済み】android.content.res.Resources$NotFoundExceptionの取得:androidにリソースが存在する場合でも例外が発生する。
-
[解決済み] sendUserActionEvent() は null です。
-
[解決済み] android.support.design.widget.FloatingActionButton クラスの展開に失敗しました。
-
[解決済み] Xlint:deprecationを使用して再コンパイルする方法
-
[解決済み] Androidでイメージビューの背景を透明に設定する
-
[解決済み] setBackgroundDrawable() 非推奨