2
votes

Obtenir une erreur lors de la création d'un lien natif de réaction

Je crée un projet dans React native pour Android et j'ai essayé d'installer native-base en utilisant la commande suivante npm install native-base --save . Après cela, lorsque je lie la bibliothèque à l'aide du lien react-natif , j'obtiens une erreur comme suit.

"dependencies": {
    "native-base": "^2.12.0",
    "react": "16.6.3",
    "react-native": "^0.57.7",
    "react-native-flash-message": "^0.1.10",
    "react-native-linear-gradient": "^2.5.3",
    "react-native-modal-datetime-picker": "^6.0.0",
    "react-native-navigation": "^2.8.0",
    "react-native-tab-view": "^1.3.2",
    "react-native-vector-icons": "^6.2.0",
    "react-redux": "^6.0.1",
    "redux": "^4.0.1",
    "redux-thunk": "^2.3.0"
  },

J'ai suivi cette documentation http://docs.nativebase.io/docs/GetStarted.html . Je ne comprends pas quel est le problème. Veuillez aider

Package.json

rnpm-install ERR! ERRPACKAGEJSON No package found. Are you sure this is a React Native project?

Cannot read property '_text' of undefined

TypeError: Cannot read property '_text' of undefined
    at SAXParser.parser_text [as ontext] (/home/codism-8/NewReactWorkSpace/NamazTiming/node_modules/xmldoc/lib/xmldoc.js:235:39)
    at emit (/home/codism-8/NewReactWorkSpace/NamazTiming/node_modules/xmldoc/node_modules/sax/lib/sax.js:639:35)
    at closeText (/home/codism-8/NewReactWorkSpace/NamazTiming/node_modules/xmldoc/node_modules/sax/lib/sax.js:649:26)
    at emitNode (/home/codism-8/NewReactWorkSpace/NamazTiming/node_modules/xmldoc/node_modules/sax/lib/sax.js:643:26)
    at SAXParser.write (/home/codism-8/NewReactWorkSpace/NamazTiming/node_modules/xmldoc/node_modules/sax/lib/sax.js:1195:15)
    at new XmlDocument (/home/codism-8/NewReactWorkSpace/NamazTiming/node_modules/xmldoc/lib/xmldoc.js:199:15)
    at readManifest (/home/codism-8/NewReactWorkSpace/NamazTiming/node_modules/react-native/local-cli/core/android/readManifest.js:20:10)
    at Object.projectConfigAndroid [as projectConfig] (/home/codism-8/NewReactWorkSpace/NamazTiming/node_modules/react-native/local-cli/core/android/index.js:41:20)
    at Object.keys.forEach.key (/home/codism-8/NewReactWorkSpace/NamazTiming/node_modules/react-native/local-cli/core/index.js:101:36)
    at Array.forEach (<anonymous>)

entrez la description de l'image ici


8 commentaires

Êtes-vous sûr d'exécuter la commande dans le bon dossier, car la commande de lien ne parvient pas à trouver votre package.json ?


oui je suis dans le bon dossier


s'il vous plaît aidez mon frère quel est le problème


partagez le chemin de sortie de votre projet, la capture d'écran de votre serveur de nœuds et, si possible, partagez également votre version react-native et native-based dans votre question.Dans quel répertoire vous avez la commande fire react-native link?


Désolé pour le retard voir la mise à jour


@Andrew, aidez-moi, je suis resté ici.


@ParasKorat aide-moi à m'en débarrasser


@AhteshamShah pour la sécurité, il tente également de lancer npm audit fix , comme indiqué à la fin de npm install


3 Réponses :


2
votes

1-Assurez-vous d'avoir effectué npm install native-base --save dans le répertoire du projet

2- Essayez npm i pour résoudre les problèmes de dépendances, puis commandez react-native run-android pour vous assurer que vos dépendances et le dossier "node_modules" fonctionnent correctement et que le projet peut fonctionner .

Si vous n'avez pas de dossier "android" ou "ios", vous pouvez utiliser la commande react-native eject , puis lier les packages.

3- Ecrivez la commande react-native link native-base , cette commande relie exactement le package de base native avec react native.
Cependant, je vous recommande de lier principalement les packages manuellement.

Vous pouvez également essayer la version précédente de la base native, comme v 2.10.0 .


9 commentaires

l'application fonctionne correctement après react -native run-android


avez-vous créé un lien avec la commande react-native link native-base ou react-native link? utilisez-vous react-native ou expo?


oui, j'ai essayé react-native link native-base obtenu la même erreur et j'utilise react-native. Où est le problème


essayez de désinstaller le package et d'installer les versions précédentes de la base native, comme 2.10.0 qui est une version plus testée.


le problème est avec _text. Avez-vous créé une configuration de dossier ou de dépendances nommée _text ou similaire? Si oui, supprimez-le.


regardez, il y a quelque chose nommé _text dans votre projet, je peux le voir dans la capture d'écran que vous avez envoyée.


c'est quelque part dans node_modules / xmldoc / lib / xmldoc.js pas n'importe où dans mon code


Supprimez node_modules, puis npm i pour la dernière tentative. Ce doit être un bug ou quelque chose comme ça.


J'utilise react-native, je n'utilise pas expo



1
votes

Merci @AmirGorji @parashKorat de m'avoir aidé. Pour moi, ce problème venait parce que j'ai supprimé android: roundIcon = "@ mipmap / ic_launcher_round" du fichier manifeste. Quand je le remets, le lien react-native fonctionne. Je l'ai supprimé car après avoir ajouté mes icônes, il affichait l'erreur de manquer une icône ronde, temporairement je l'ai supprimée.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.namaztiming">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
    </application>

</manifest>

Je ne sais pas si c'est une bonne solution ou non, mais en mon cas, il a résolu le problème.


0 commentaires

0
votes

J'ai rencontré ce problème aujourd'hui et j'ai exécuté ces commandes pour nettoyer la note du projet.

1- Allez dans le répertoire racine du projet.

2- Lancez cd android

3- Lancez gradlew clean

4- Exécutez cd..

puis exécutez les commandes link


0 commentaires