मेरे पास एक ऐप प्रोजेक्ट और 2 नोड मॉड्यूल प्रोजेक्ट हैं।

निर्भरता संरचना कुछ इस तरह है:

App {
  NodeModule1 {
    NodeModule2,
    ...
  },
  ...
}

मेरे पास समस्या यह है कि मेरा NodeModule2 ऐप के नोड_मॉड्यूल App/node_modules/NodeModule2 की जड़ पर स्थापित होने के बजाय, यह App/node_modules/NodeModule1/node_modules/NodeModule2 में स्थापित है

यह रनटाइम पर कुछ त्रुटि उत्पन्न कर रहा है, कहता है कि मेरा NodeModule2 नहीं मिला है। मेरा समाधान NodeModule2 को सीधे ऐप में जोड़ना है, जो एक विचार समाधान नहीं है।

NodeModule1 की अन्य सभी निर्भरताएँ App/node_modules/.. पर अपेक्षा के अनुरूप स्थापित हैं।

मेरा NodeModule2 का package.json

{
  "name": "NodeModule2",
  "version": "0.0.2-20210202.1.0",
  "private": false,
  "description": "",
  "author": "",
  "license": "ISC",
  "peerDependencies": {
    "react": "16.13.1",
    "react-native": "0.59.10",
    ...
  }
}
0
BananZ 3 फरवरी 2021, 08:59

1 उत्तर

सबसे बढ़िया उत्तर

मैंने इसे पा लिया है

उप-नोड_मॉड्यूल को रूट स्तर पर प्रदर्शित करने के लिए, इसके सभी peerDependencies संस्करण ऐप के साथ मेल खाने चाहिए।

मेरे मामले में मेरे ऐप और NodeModule1 दोनों में dependency का react-native-picker-select है, लेकिन विभिन्न संस्करणों के साथ।

App {
  dependency: {
    "react-native-picker-select": "^8.0.0"
  }
}

NodeModule1 {
  dependency: {
    "react-native-picker-select": "8.0.0"
  }
}

NodeModule2 {
  peerDependency: {
    "react-native-picker-select": "8.0.0"
  }
}

इस मामले में, ऐप को 8.0.4 और NodeModule1 को 8.0.0 प्राप्त हुआ। यार्न NodeModule2 को NodeModule1 के अंतर्गत रखता है और समान निर्भरता संस्करण 8.0.0 साझा करता है।

फिक्स: सुनिश्चित करें कि सभी संस्करण ऐप, NodeModule1, और NodeModule2 में मेल खाते हैं।

0
BananZ 3 फरवरी 2021, 12:33