React-Nativeプロジェクトに問題があり、以前は正常に動作していましたが、突然動作しなくなりました。コマンドを使用するたびに:
react-native run-Android
エラーが表示されました:
Androidプロジェクトが見つかりません。おそらく最初にreact-native Androidを実行しますか?
I 試行実行中:
react-native Android
しかし、それは言った:
Unrecognized command 'Android' Run react-native --help to see list of all available commands
試した後:
D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native eject
返されたエラー:
D:\ ProjectRoot\ReactNativeProjects\AwesomeProject\node_modules(48ms)のシンボリックリンクのスキャンフォルダーアプリ
name
をapp.json
構成ファイルで定義して、プロジェクト名を定義する必要があります。スペースやダッシュを含めることはできません。
これはapp.jsonファイルです。
{
"expo": {
"name": "AwesomeProject",
"description": "A very interesting project.",
"slug": "AwesomeProject",
"privacy": "public",
"sdkVersion": "30.0.0",
"platforms": ["ios", "Android"],
"ios": {
"supportsTablet": true
},
"Android": {
"package": "com.project.first"
},
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
"splash": {
"image": "./assets/images/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
]
}
}
私はこの質問を提起し、同様の問題に直面している他の人を助けると思ったので自分自身に答えました。ターミナルに表示されるエラーが正確ではなかったため、その背後にある本当の理由を見つけるのに苦労しました。
この問題を解決するには、react-nativeパッケージをアップグレードしてください。
次を入力して、コマンドプロンプトのReactネイティブパッケージをアップグレードします。
react-native upgrade
。
y (Yes)
と入力して、すべてのファイルを更新します。私はそれが古い質問であることを知っていますが、それらの解決策のいずれも私にとってはうまくいかず、おそらく私のような他の人がいるでしょう。 run-Android
の前にこのコマンドを実行して問題を解決しました
react-native eject
反応ネイティブの最新バージョンでは、この提案はコマンドを発行しようとするときに発生します。
react-native eject
D:\ ProjectRoot\ReactNativeProjects\AwesomeProject\node_modules(48ms)のシンボリックリンクのスキャンフォルダーアプリ
name
をapp.json
構成ファイルで定義して、プロジェクト名を定義する必要があります。スペースやダッシュを含めることはできません。
ここで、次のコマンドを発行すると:
D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native upgrade
以下が表示されます。
D:\ ProjectRoot\ReactNativeProjects\AwesomeProject\node_modules内のシンボリックリンクのフォルダーをスキャンする(56ms)Gitに基づく新しいアップグレードツールの使用を検討する必要があります。ほとんどの競合を自動的に解決することにより、アップグレードが容易になります。使用するには:-古いバージョンのReact Nativeに戻ります-「npm install -g react-native-git-upgrade」を実行します-「react-native-git-upgrade」を実行します https://facebook.github.io/react-native/docs/upgrading.html 「package.json」の反応ネイティブバージョンがインストール済みのものと一致しません「node_modules」のバージョン。これを修正するには、「npm install」を実行してください。中止します。
Facebookの反応ネイティブコマンドの提案には、明確な解決策があります。
これらのコマンドは、現在のバージョンと、更新が必要かどうかを確認します。
こちらもご覧ください:
私はこうしました...働いた!!
ここで私の問題は解決しました。
Android folder gradlewおよびgradlew.bat(それぞれUN * X、Windows用のGradle起動スクリプト)からのファイルが何らかの理由で取得されたため、この問題が発生しました。グローバル.gitignoreファイルに追加されたため、ローカル環境では表示されませんでした。
実際にreact-native upgradeコマンドを実行すると、これらのファイルが復元され、問題が修正されます。
補足として、react-nativeコマンドが見つからない場合は、react-native CLIをインストールする必要があります。
npm install -g react-native-cli
その後、上記の人々が言った手順に従うことができます。
Gitに基づく新しいアップグレードツールの使用を検討する必要があります。ほとんどの競合を自動的に解決することにより、アップグレードが容易になります。使用するには:-古いバージョンのReact Nativeに戻ります-「npm install -g react-native-git-upgrade」を実行します-「react-native-git-upgrade」を実行します https://facebook.github.io/react-native/docs/upgrading.html
私の作業ソリューションは以下です、上記のどれも私のために働いていません:
プロジェクトフォルダーにCDを入力し、expo start --Androidと入力します。
または長い道のり:
仮想デバイスにexpoをインストールし、そこからテストできます
react-native eject
を実行すると、次のエラーが表示されました。
Both the iOS and Android folders already exist! Please delete `ios` and/or `Android` before ejecting.
MyProject/Android
フォルダーを削除します。react-native eject
を実行しますこれにより、Android
フォルダーが生成されました
次に、react-native run-Android
を実行してAndroidをビルドします