प्रतिक्रियाशील मूल संस्करण बेमेल


196

निम्नलिखित संदेश प्राप्त करना जब मैं एक नई परियोजना को सम्मिलित करता हूं और फिर Xcode एमुलेटर लॉन्च करता हूं:

रिएक्ट-नेटिव वर्जन मिसमैच

जावास्क्रिप्ट संस्करण 0.50.1 मूल संस्करण: 0.50.0

सुनिश्चित करें कि आपने मूल कोड को फिर से बनाया है। ...

क्या किसी को पता है कि यहाँ क्या चल रहा है और मेरी मदद कर सकता है?

जवाबों:


339

यह वही है जो मैंने इसके साथ किया है:

सभी टर्मिनल बंद करें और फिर से बिल्ड रन करें।

आप किसी अन्य प्रोजेक्ट से नोडज टर्मिनल को बंद करना भूल सकते हैं, और वे अलग-अलग प्रतिक्रिया संस्करण स्थापित करने के लिए होते हैं।

इसलिए नोड नोड्स सर्वर से कोड प्राप्त करता है मूल निवासी के साथ संघर्ष करता है।


1
क्या होगा अगर मैं अपने वर्तमान में खोले गए टर्मिनलों को बंद नहीं करना चाहता (मेरे पास वहां ऐप चल रहे हैं)? क्या कोई और समाधान है?
दिमित्र त्सोनव

1
@DimitarTsonev आप प्रतिक्रिया-मूल द्वारा खोले गए उस विशिष्ट टर्मिनल को बंद कर सकते हैं, जो दिखाता है Bundling 'index.android.js' 100.0% (1/1), done
वैल

1
बल पूरी तरह से build.gradleकाम में निर्भरता संस्करण का उपयोग कर । धन्यवाद @Val
जेक ओलिवर

सभी टर्मिनलों को बंद कर दिया गया और इस्तेमाल किया गया:react-native run-ios
स्टेफ़ो डिम्फेल्ट

pod installयदि आप कोकोपोड्स का उपयोग कर रहे हैं तो भी चलाएं ।
ऐरे

37

यदि आपने क्रिएट-रिएक्शन-देशी-ऐप का उपयोग करके अपनी प्रतिक्रिया-मूल एप्लिकेशन बनाई है। आपके पास एक app.json (एक्सपो) होना चाहिए। और एक package.json फ़ाइल, जाँच करें कि क्या एक्सपो संस्करण मेल खाते हैं और तदनुसार बदलते हैं। उदाहरण के लिए मेरे मामले में समस्या यह थी कि app.json फ़ाइल में मेरे पास एक्सपो sdkVersion विशेषता के लिए 25.0.0 संस्करण था , मैं इसे 23.0.0 में बदल देता हूं और सब कुछ काम कर गया।

package.json:

"dependencies": {
    "expo": "^23.0.4",
    "react": "16.0.0",
    "react-native": "^0.50.4"
  }

app.json:

{
  "expo": {
    "sdkVersion": "23.0.0" // before was 25.0.0
  }
}

यह मेरे लिए काम किया! त्वरित अद्यतन: आप अपने प्रतिक्रिया-मूल पैकेज के लिए प्रत्यक्ष npm मॉड्यूल का उपयोग नहीं कर सकते हैं और इसके बजाय एक टारबॉल है। यदि ऐसा है, तो आप आरएन के अपने संस्करण को सत्यापित करने के लिए प्रतिक्रिया-मूल स्थिति का उपयोग कर सकते हैं। :)
ब्लेकफेस

15

बस अपने पर जाएं android/app/build.gradleऔर फिर dependenciesअनुभाग में जोड़ें :

dependencies{
compile ("com.facebook.react:react-native:0.50.3") { force = true } 
}

/// प्रतिक्रिया देशी संस्करण package.json में पाया जा सकता है


5
मैं ios के लिए कहां बदलूं
अनुराग श्रीवास्तव

पैकेज.जॉन में समान परिवर्तन क्या है?
नैट ग्लेन

8

बस अपने एंड्रॉइड के ऐप स्तर के ग्रेड फ़ाइल में मूल संस्करण पर प्रतिक्रिया करें, dependenciesअनुभाग में।

compile ("com.facebook.react:react-native:0.52.0") { force = true }

मेरे लिए काम किया


2
इसने मेरे लिए काम किया। मेरे पास 0.53.3 है। मैंने 0.53.3 के साथ एक बल जोड़ा, टर्मिनलों को फिर से शुरू किया, दौड़ाया और दौड़ाया npm start -- --reset-cacheगयाreact-native run-android
फ्लोरिन डोबरे

6

मैंने इस त्रुटि को पहले कभी नहीं देखा है, लेकिन जब भी मुझे एक साथ अच्छी तरह से खेलने के लिए Xcode और React-Native नहीं मिल पाता है, तो मैं कुछ चीजें करता हूं। Xcode मैं किस संस्करण के साथ काम कर रहा हूं, इसकी जांच करें। यदि इसे अपडेट करने की आवश्यकता है, तो मैं इसे अपडेट करता हूं। फिर क्लीयरिंग वॉचमैन और कैश मैं जाते हैं। मैं रीसेट कैश कमांड का उपयोग नहीं करता हूं। यह हमेशा कहता है कि मुझे कैश को सत्यापित करने की आवश्यकता है, इसलिए मैं इसे छोड़ देता हूं (आप इसे कर सकते हैं हालांकि, मैं बस भ्रमित हो जाता हूं)। मैं किसी भी कैश्ड बिल्ड से छुटकारा पाने के लिए rm -rf $ TMPDIR / react- * का उपयोग करता हूं। अगर वह काम नहीं करता है, तो मैं Xcode में ऐप बनाने की कोशिश करता हूं, फिर वहां से अपने तरीके से काम करता हूं, इसे प्रतिक्रिया-मूल रन-आईओएस के साथ बनाता हूं। इस त्रुटि संदेश के साथ, ऐसा लगता है कि आप इसे Xcode के साथ बनाने की कोशिश कर सकते हैं। आशा है कि मदद करता है ... मुझे इसके साथ अपनी प्रगति को जानते हैं। सौभाग्य! (इसके अलावा, आप आरएन 0 पर अपडेट कर सकते हैं।


दूसरी बात यह है कि मैंने एक्सपो में साथ खेला है। आश्चर्य है कि अगर गड़बड़ चीजें
सैम राव

आप बस npm इंस्टाल कर सकते हैं - save react-native@0.51 लेकिन, मैं इसे पहले Xcode के साथ बनाने की कोशिश करूंगा। क्या आपने अभी तक ऐसा किया है? अगर आपको मदद की जरूरत है, तो मुझे बताएं।
जारेड नेल्सन

6

यदि आप एक्सपो के माध्यम से अपना रिएक्टिव नेटिव ऐप चला रहे हैं, तो रिएक्टिव नेटिव को अपग्रेड करना इस त्रुटि का कारण है (जैसा कि https://github.com/expo/expo/issues/923 पर उल्लेख किया गया है )।

यदि यह आपका परिदृश्य है, तो आपके विकल्प हैं:

  1. बम्प एक्सपो (जो आपके में सूचीबद्ध है package.json) जो आपके रिएक्टिव नेटिव संस्करण के साथ संगत है ( यदि कोई मौजूद है, जो मामला नहीं हो सकता है - लिंक किए गए मुद्दे को देखते हुए, मुझे लगता है कि एक्सपो समर्थन ट्रेल्स रिएक्टिव नेटिव रिलीज का समर्थन करता है)।
  2. अपने परिवर्तनों को छोड़ें, अपने नोड मॉड्यूल को हटाएं और पुनर्स्थापित करें, एक्सपो से बाहर निकालें , और फिर (यह जांचने के बाद कि आप अभी भी अपना ऐप पोस्ट-इजेक्शन चला सकते हैं) अपने अपग्रेड को फिर से आज़माएं।

एक्सपो लेखन के समय केवल 59.8 तक प्रतिक्रिया-मूल का समर्थन करता है। एक्सपो / प्रतिक्रिया-देशी अनुकूलता के लिए, देखें docs.expo.io/versions/latest/sdk/overview/#sdk-version (यह ओपी के रूप में त्रुटि का ठीक वही कारण नहीं है, लेकिन नोट करने के लिए प्रासंगिक लगता है।)
टिज़स मास।

6

मुझे सबसे लंबे समय तक यह समस्या थी और उपरोक्त समाधानों में से किसी ने भी मदद नहीं की। मैं एक create-react-native-appपरियोजना में मूल निवासी को अपग्रेड करने के बीच में था, जब तक मुझे पता नहीं चला कि एक्सपो के सभी संस्करण नवीनतम रिएक्ट नेटिव का समर्थन नहीं करते हैं।

इस पृष्ठ को प्रलेखन में जुड़ा हुआ पाया गया है जो दर्शाता है कि प्रतिक्रिया मूल, प्रतिक्रिया और एक्सपो के कौन से संस्करण संयोजन आधिकारिक तौर पर समर्थित हैं:

स्रोत: https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md

संबंधित संस्करणों से मिलान करने के लिए फ़ाइलों app.jsonऔर package.jsonफ़ाइलों को संपादित करना और चलाना npm installसब कुछ फिर से काम कर रहा है।


6

मैं एक भौतिक उपकरण का उपयोग कर रहा हूं, मेरे मामले में यह समस्या हल हो गई:

  1. ऐप को अनइंस्टॉल करें
  2. lsof -i :8081
  3. kill -9 PID
  4. एप्लिकेशन ( react-native run-androidया react-native run-ios) का पुनर्निर्माण करें

बस से सभी पीआईडी ​​को मारना lsof -i :8081और पुनर्निर्माण करना मेरे लिए आईओएस सिम्युलेटर पर किया।
रोनेन बोइतो

यहाँ वही - रिमार्प नोड_मॉड्यूल्स, एनपीएम स्टार्ट -सेट-कैश इत्यादि - कुछ भी काम नहीं आया। फिर मैंने ऊपर - अनइंस्टॉल की गई ऐप, टास्ककिल / im नोड। Exe और टास्ककिल / एफ / पीआईडी ​​(अंतिम चरण में दी गई संख्या, मौजूदा पीआईडी ​​की संख्या) का इस्तेमाल किया, फिर प्रतिक्रिया-मूल रन-एंड्रॉइड। एक इलाज काम किया!
user1641906

5

अपनी build.gradle फ़ाइल में निम्न जोड़ें

implementation ("com.facebook.react:react-native:0.51.0") {
    force = true;
}

0.51.0अपने package.json में संस्करण के साथ बदलें


4

एंड्रॉइड डेवलपर्स के लिए जो इसे केवल बंद करने और पुनर्निर्माण के द्वारा तय नहीं कर सके, मैन्युअल रूप से एमुलेटर / डिवाइस पर ऐप को अनइंस्टॉल करें।


3
आईओएस सिम्युलेटर से ऐप को अनइंस्टॉल करना मेरे लिए काम कर गया।
negative_zero

4

फिर से निर्भरता स्थापित करने का प्रयास करें। मेरे लिए वह काम किया-

1.) yarn/npm install
2.)yarn/npm start --reset-cache


3

मेरे लिए यह फ़ाइल के अनुभाग react-nativeमें संस्करण के कारण था । ये था:dependencypackage.json

"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "~0.55.0"
}

मैंने इसका पीछा किया:

"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "0.52.0"
}

अब यह ठीक काम करता है।


3

मेरे मामले के लिए मैं इसे iOS पर सामना कर रहा हूं, और मैंने नीचे दिए गए आदेश का उपयोग करके सभी कैश को रीसेट करने और साफ़ करने की कोशिश की है, लेकिन कई टिप्पणियों के बावजूद यह कह रहा है कि मूल कारण यह है कि रिएक्शन पैकर कहीं आकस्मिक रूप से चल रहा है, मैंने फिर से शुरू किया है मेरे मैक और समस्या अभी भी बनी हुई है।

watchman watch-del-all && rm -rf node_modules/ && yarn cache clean && yarn install && yarn start --reset-cache

इसका समाधान बिल्ड फ़ोल्डर @ को हटाने के लिए है /ios/build, फिर react-native run-iosइसे हल करें


3

मैंने ऊपर दिए गए समाधानों की कोशिश की है, लेकिन AndroidManifest.xml में इसे जोड़ना ठीक करना प्रतीत होता है।

  android:usesCleartextTraffic="true"

1
यह आकर्षण की तरह काम करता है .. यही कारण है कि मुझे कभी भी एंड्रॉइड पसंद नहीं आएगा .. हमेशा एक जादू शब्द होता है जो आपकी समस्याओं को हल करता है जिसने आपको कई घंटों तक पागल कर दिया है।
picacode

2

CocoaPods के साथ iOS पर समान समस्या वाले अन्य लोगों के लिए:

मैंने ऊपर दिए गए सभी समाधानों की कोशिश की, भाग्य के बिना। मेरे पास अपनी परियोजना में मूल निर्भरता के साथ कुछ पैकेज हैं, और उनमें से कुछ आवश्यक पॉड मॉड्यूल स्थापित किए जा रहे हैं। समस्या यह थी कि मेरे पॉडफाइल में रिएक्ट निर्दिष्ट था, लेकिन रिएक्ट पॉड का उपयोग करके स्वचालित रूप से उन्नत नहीं हुआ react-native-git-upgrade

फिक्स सभी स्थापित पॉड्स को अपग्रेड करना है, रन करके cd ios && pod install


2

मेरे मामले में एक नए वर्चुअल डिवाइस को स्थापित करने में मदद मिली। अब मैं प्रति ऐप 1 डिवाइस का उपयोग कर रहा हूं।


2

एक्सपो उपयोगकर्ता - सुनिश्चित करें कि आपका app.jsonएसडीके संस्करण और package.jsonएक्सपो संस्करण एक-दूसरे के अनुकूल हैं (समान हो सकते हैं)।


धन्यवाद! यह एक नए एक्सपो उपयोगकर्ता के लिए समाधान था।
जैस्पर ब्लूज

1

मेरे पास एक्सपो और आईओएस सिम्युलेटर का उपयोग करके भी यह समस्या थी। मेरे लिए जो काम किया गया वह सिम्युलेटर को मिटा रहा थाHardware > Erase All Content and Settings...


मुझे पूरा यकीन है कि यह एमुलेटर से एक्सपो ऐप को सिर्फ अनइंस्टॉल करके पूरा किया जा सकता है। हर चीज की जरूरत नहीं।
अजय

1

संभव फिक्स:

  1. पैकेज- lock.json हटाएं
  2. Daud: watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf $TMPDIR/haste-map-react-native-packager-* && rm -rf node_modules/&& npm install

यदि समस्या बनी रहती है, तो प्रोजेक्ट को सीधे Xcode से निष्पादित करने का प्रयास करें

इसने मेरे लिए काम किया।


1

मेरे मामले में (एक्सपो और एंड्रॉइड बिल्ड का उपयोग नहीं)

package.json

"dependencies": {
    "react": "16.3.1",
    "react-native": "0.55.2"
}

और app.json

{
  "sdkVersion": "27"
}

इस मुद्दे को हल किया


यह विशेष रूप से सच है अगर आप एक्सपो का उपयोग कर रहे हैं। अधिक जानकारी के लिए एक्सपो के अपग्रेड डॉक्स देखें: docs.expo.io/versions/latest/workflow/…
ब्लेकफेस

1

मैं वेबस्टॉर्म से एक प्रतिक्रियाशील मूल एप्लिकेशन बनाने और चलाने की कोशिश कर रहा था और इस समस्या में भाग गया। मेरे लिए सरल समाधान था:

watchman watch-del-all

MacOS पर, यदि watchmanपहले से स्थापित नहीं है , तो Homebrew का उपयोग करके इसे स्थापित करें :

brew install watchman

1

यह कभी-कभी होता है जब आप नोड सर्वर को बंद किए बिना चलाने की कोशिश करते हैं, जिसमें पिछला ऐप चल रहा था, इसलिए रिएक्ट को पुनः आरंभ करने का प्रयास करें। ऐसा करने के लिए, बस निम्नलिखित कमांड चलाएं:

1. To kill current processes
killall node -9 

2. To Start React  Native
react-native start 

3. Then Run android
react-native run-android

1

मेरे मामले में, मैंने expoसंस्करण को मैन्युअल रूप से बदल दिया । मैं एक ही मुद्दा मिल गया है क्योंकि मैं अद्यतन करने के लिए भूल गया sdkVersion में app.json और कोलाहल-पूर्व निर्धारित-एक्सपो में package.json

इसके बाद रन: expo r -cकैशे क्लियर करें और ऐप शुरू करें।


1

हमने जो फिक्स किया वह यह सुनिश्चित करना था कि निर्माण से पहले ANDROID_HOME और PATH वैरिएबल स्थापित किए गए थे।

सबसे पहले, नीचे दो कमांड चलाएं फिर डिवाइस के लिए ऐप बनाएं।

export ANDROID_HOME=/Users/username/MyFiles/applications/androidsdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

1

टाइपस्क्रिप्ट परिभाषाएँ बेमेल होने पर मुझे यह क्लासिंग मिली।

ईजी react-native0.61.5 पर dependenciesऔर @types/react-native0.60.0 इंच पर devDependencies

जैसे ही मैंने अद्यतन निर्भरताएँ काम कीं। कुछ भी पुनरारंभ नहीं करना पड़ा।


0

यह ठीक नहीं है, लेकिन मेरे मामले में, मेरे पास अपने डिवाइस पर कई आरएन एप्लिकेशन इंस्टॉल थे और मैं अनजाने में गलत एप्लिकेशन के भीतर से 'रीलोड' करने का प्रयास कर रहा था। (मैं इस समय एक साथ दो ऐप विकसित कर रहा हूं) इसलिए सुनिश्चित करें कि आप सही एप्लिकेशन में हैं!


0

अपने पैकेज में निर्दिष्ट अपने अभिक्रिया-मूल के संस्करण को बदलने का प्रयास करें। त्रुटि संदेश में दिखाए गए 'देशी संस्करण' के समान ही निर्भरता (निर्भरता-प्रतिक्रिया-मूल के तहत)। फिर 'npm install' चलाएं।


किसी भी विचार कैसे पैकेज में उल्लिखित संस्करण को डाउनग्रेड करने के लिए। json?
हंग्रीसोल

अपने पैकेज में। यदि आपको "प्रतिक्रिया-मूलक": "^ 0.55.0" जैसे "निर्भरता" के तहत कुछ देखना चाहिए। उस नंबर (इस उदाहरण में 0.55.0) को अपने इच्छित संस्करण में बदलें और "npm इंस्टॉल" को फिर से चलाएं।
परन सबी

0

मुझे एंड्रॉइड के लिए अपनी प्रतिक्रिया देशी ऐप का निर्माण करते समय एक ही मुद्दा मिला है और मैंने निम्नलिखित कार्य किया जो मेरे लिए काम करता है।

त्रुटि कंसोल में "जावास्क्रिप्ट संस्करण 0.50.1" आपकी package.jsonफ़ाइल में प्रतिक्रिया-देशी संस्करण है । सुनिश्चित करें कि यह त्रुटि कंसोल में "मूल संस्करण 0.50.0" के समान संस्करण है।

  1. मेरे पास "देशी संस्करण 0.50.0" पर प्रतिक्रिया-देशी संस्करण अपडेट किया गया है जैसा कि त्रुटि कंसोल में दिखाया गया है।
  2. ऐप को फिर से बनाएं react-native run-android


0

Opene projectdir / android / app / build.gradle

प्रयत्न:

संकलन ("com.facebook.react: प्रतिक्रिया-मूल: 0.51.0") {बल = सत्य}

संकलन के बजाय "com.facebook.react: प्रतिक्रिया-मूल: 0.51.0" {बल = सत्य}

रेफरी: लिंक

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.