मुझे सब-पैकेजेस @intlayer/* से संबंधित त्रुटि मिलती है
यह समस्या आमतौर पर Intlayer पैकेजेस के अपडेट के बाद होती है।
त्रुटि संदेश का उदाहरण:
Error: Cannot find module '@intlayer/types'TypeError: (0 , __intlayer_config_client.colorize) is not a functionat import { colorize } from '@intlayer/config';✖ ERROR No matching export in "node_modules/@intlayer/config/dist/esm/client.mjs" for import "clearModuleCache"node_modules/@intlayer/unmerged-dictionaries-entry/dist/esm/index.mjs:3:9:3 | import { clearModuleCache, configESMxCJSRequire } from "@intlayer/config"; | ~~~~~~~~~~~~~~~~✖ ERROR No matching export in "node_modules/@intlayer/config/dist/esm/client.mjs" for import "configESMxCJSRequire"node_modules/@intlayer/unmerged-dictionaries-entry/dist/esm/index.mjs:3:27:3 | import { clearModuleCache, configESMxCJSRequire } from "@intlayer/config"; | ~~~~~~~~~~~~~~~~~~~~कारण
बेस पैकेज जैसे intlayer, react-intlayer, react-native-intlayer, vue-intlayer कोड डुप्लिकेशन से बचने के लिए वही सब-पैकेजेस जैसे @intlayer/config, @intlayer/core, @intlayer/types का पुनः उपयोग कर रहे हैं।
दो संस्करणों के बीच, सब-पैकेजेस के एक्सपोर्ट्स समान होने की गारंटी नहीं होती है। इस समस्या को सीमित करने के लिए, intlayer मुख्य पैकेज के संस्करण के अनुसार सब-पैकेजेस के संस्करण को पिन करता है।
उदाहरण: intlayer@1.0.0 उपयोग करता है @intlayer/config@1.0.0, @intlayer/core@1.0.0, @intlayer/types@1.0.0
(@intlayer/swc को छोड़कर), @intlayer/* सब-पैकेजेस को सीधे उपयोग करने के लिए नहीं बनाया गया है। इसलिए हम सुझाव देते हैं कि इन्हें सीधे इंस्टॉल न करें।
समाधान
- सुनिश्चित करें कि मुख्य पैकेज और सब-पैकेजेस के संस्करण समान हों।
{ "dependencies": { "intlayer": "7.0.1", "react-intlayer": "7.0.0", // गलत संस्करण, इसे 7.0.1 होना चाहिए }, "devDependencies": { "intlayer-editor": "7.0.1", },}- लॉकफाइल और node_modules फ़ोल्डर को हटाने और निर्भरताओं को पुनः इंस्टॉल करने का प्रयास करें।
कभी-कभी, पैकेज मैनेजर लॉकफाइल में सब-पैकेजेस के पुराने संस्करण को कैश में रखता है। इसे ठीक करने के लिए, आप लॉकफाइल और node_modules फ़ोल्डर को हटाने और निर्भरताओं को पुनः इंस्टॉल करने का प्रयास कर सकते हैं।
rm -rf package-lock.json node_modulesnpm install- वैश्विक इंस्टॉलेशन की जांच करें
CLI कमांड्स तक पहुँचने के लिए हम सुझाव देते हैं कि intlayer या intlayer-cli को वैश्विक रूप से इंस्टॉल करें। यदि वैश्विक संस्करण स्थानीय संस्करण के समान नहीं है, तो पैकेज मैनेजर गलत संस्करण मान सकता है।
जांचें कि कोई पैकेज वैश्विक रूप से इंस्टॉल है या नहीं
npm list -g --depth=0npm list -g --depth=0 | grep intlayeryarn global listpnpm list -g --depth=0संभावित वैश्विक निर्भरता संघर्षों को ठीक करें
npm uninstall -g intlayer intlayer-cliyarn global remove intlayer intlayer-clipnpm remove -g intlayer intlayer-cli- कैश साफ़ करने का प्रयास करें
कुछ वातावरणों जैसे docker, github actions, या वेब होस्टिंग प्लेटफ़ॉर्म जैसे Vercel में कैश मौजूद हो सकता है। आप कैश को साफ़ करने और पुनः इंस्टॉलेशन का प्रयास कर सकते हैं।
आप निम्नलिखित कमांड के साथ अपने पैकेज मैनेजर का कैश भी साफ़ करने का प्रयास कर सकते हैं:
npm cache clean --forceyarn cache cleanpnpm cache clean