次のリンクをたどって、react-nativeを使い始めました
私はエキスポなしでネイティブアプリを作成しようとしたので、ドキュメントに従って、私は次のコマンドに従いました
npm install -g react-native-cli
react-native init AwesomeProject
実行後Androidコマンド
react-native run-Android
エミュレータでエラーが発生しました
だから私はスタートコマンドを使用してメトロサーバーを実行しました
react-native start
このコマンドにより、コンソールで別のエラーが発生しました
解決策は、上記で答えたように、モジュールblacklist.js
ファイル内のmetro-config
ファイルを変更することです。ただし、npm/yarn install
を実行するたびに、もう一度変更する必要があります。
だから私はあなたがファイルに行く時間を節約し、毎回それを変更するソリューションを考え出しました:
JavaScriptを使用してファイルを編集するライブラリを使用しました。
npm install --save replace-in-file
node_module
フォルダーと同じレベルでファイルを作成します。例:metro-fix.js
.
このスクリプトをコピーして貼り付けます。
//Load the library
const replace = require('replace-in-file');
// path for metro config file
const path = 'node_modules/metro-config/src/defaults/blacklist.js';
// creating options for editing the file
const options = [
{
files: path,
from: 'modules[/',
to: 'modules[\\/',
},
{
files: path,
from: 'react[/',
to: 'react[\\/',
},
{
files: path,
from: 'dist[/',
to: 'dist[\\/',
},
];
try {
let results;
// looping on each option
options.forEach(e => {
results = replace.sync(e);
console.log('Replacing "'+e.from+'" by "'+e.to+'" results:', results[0].hasChanged);
});
} catch (error) {
console.error('Error occurred:', error);
}
npm install
を実行するたびに、次のように実行します。node metro-fix.js
Replace-in-file docsを参照してください。
ええ、Nodeバージョン10にシフトするだけで動作します。
nvm install <version>
nvm use <version>
できます...... :)
私はこのステップでこの問題を解決しました:
react-native init myApp --version 0.60.0
react-native start
それが役に立てば幸い
closeコマンドプロンプトとメトロバンドラー、もう一度実行
ノードのバージョンが高いためです。
解決策の1つは、ノードのバージョンを12.x
から10.x
に簡単にダウングレードするか、12.xをアンインストールして10.xをインストールすることです。
一方、他のプロジェクトで12.xを使用する場合はどうでしょうか。したがって、以下の解決策はそれをより簡単にします。ノードの複数のバージョンを制御できるnvmを使用できます。
したがって、最初にここからnvmをインストールします https://github.com/coreybutler/nvm-windows/releases
インストールしたら、nvmパスをシステム変数に追加することを忘れないでください。
次にnvm install 10.18.1 64
次にnvm install 12.14.1 64
インストールされているすべてのバージョンを一覧表示するにはnvm list
あるバージョンから別のバージョンに切り替える場合は常に、次のコマンドを使用します
nvm use 10.18.1 OR nvm use 12.14.1
はい、私もこの問題に直面しています。実際、ほとんどのユーザーに推奨されるNode.jsはバージョン10.16.3 LTSです。以下のchocoコマンドを使用すると、最新バージョンの12.11.0がインストールされます。 choco install -y nodejs.install python2 jdk8
Nodeバージョン12.11.0から10.16.3 LTSにダウングレードしましたが、それでうまくいきました。