त्रुटि: नोड सास संस्करण 5.0.0 ^ 4.0.0 के साथ असंगत है


320

मैंने कमांड का उपयोग करके एक रिक्त प्रतिक्रिया परियोजना बनाई है: npx create-react-appnpm v7.0.7 और Node v15.0.1 पर

स्थापित:

  • प्रतिक्रिया v17.0.1,
  • नोड- sass v5.0.0,

तब मैंने रिक्त .scss फ़ाइल को अनुप्रयोग घटक में आयात करने का प्रयास किया:

App.js

import './App.scss'

function App() {
  return (
    <div className="App">
      App
    </div>
  );
}

export default App;

एक त्रुटि फेंको:

Failed to compile.

./src/App.scss (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-6-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5-oneOf-6-3!./node_modules/s
ass-loader/dist/cjs.js??ref--5-oneOf-6-4!./src/App.scss)
Error: Node Sass version 5.0.0 is incompatible with ^4.0.0.

package.json

{
  "name": "react-17-node-sass-5",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.5",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "node-sass": "^5.0.0",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.0",
    "web-vitals": "^0.2.4"
  },
 ...
 
  }
}

जवाबों:


540

टी एल; डॉ

  1. npm uninstall node-sass
  2. npm install node-sass@4.14.1

या, यदि यार्न का उपयोग किया जाता है (नए CRA संस्करणों में डिफ़ॉल्ट)

  1. yarn remove node-sass
  2. yarn add node-sass@4.14.1

Edit2 : sass-loader v10.0.5 इसे ठीक करता है। समस्या यह है कि, आप इसे परियोजना पर निर्भरता के रूप में नहीं, बल्कि अपनी निर्भरता के एक निर्भरता के रूप में उपयोग कर सकते हैं। सीआरए एक निश्चित संस्करण का उपयोग करता है, कोणीय-एसएलआई लॉक नोड-एसएएस v4 पर एक इत्यादि।
अब के लिए सिफारिश है: यदि आप वर्कअराउंड (और नोट) के नीचे सिर्फ नोड-एसएएस चेक स्थापित कर रहे हैं। यदि आप किसी रिक्त प्रोजेक्ट पर काम कर रहे हैं और आप अपने वेबपैक कॉन्फ़िगरेशन (CRA या CLI का उपयोग न करके अपनी परियोजना को रोक सकते हैं) नवीनतम sass-loader स्थापित कर सकते हैं।


संपादित करें : यह त्रुटि sass-लोडर से आती है । नोड-एसएएस @ एलटैस्ट v5.0.0 है और एसएएस-लोडर की अपेक्षा 4.0.0 है क्योंकि सेमेस्टर बेमेल है।
एक संबद्ध फिक्स के साथ उनकी रिपॉजिटरी पर एक खुला मुद्दा है जिसकी समीक्षा करने की आवश्यकता है। तब तक, नीचे दिए गए समाधान का संदर्भ लें।


समाधान : नोड-एसएएस 5.0.0 अभी तक स्थापित न करें (प्रमुख संस्करण बस टकरा गया था)।

नोड-एसएएस की स्थापना रद्द करें

npm uninstall node-sass

फिर नवीनतम संस्करण स्थापित करें (5.0 से पहले)

npm install node-sass@4.14.1


नोट: लिबास (इसलिए नोड-एसएएस के रूप में अच्छी तरह से) पदावनत है और डार्ट-एसएएस अनुशंसित कार्यान्वयन है। आप sassइसके बजाय उपयोग कर सकते हैं , जो शुद्ध जावास्क्रिप्ट में संकलित डार्ट-सस का नोड वितरण है। हालांकि चेतावनी दी हो:

इस दृष्टिकोण का उपयोग करके सावधान रहें। रिएक्ट-स्क्रिप्ट sass-loader v8 का उपयोग करती है, जो नोड-एसएएस को sass (जिसमें कुछ सिंटैक्स नोड-एसएएस द्वारा समर्थित नहीं है) को प्राथमिकता देता है। यदि दोनों स्थापित हैं और उपयोगकर्ता ने sass के साथ काम किया है, तो इससे css संकलन पर त्रुटियाँ हो सकती हैं


6
किसी कारण yarn add node-sass@4.14.1से बहुत जल्दी होता है
टायलिक स्टिक

3
ऐसा लगता है कि उन्होंने अभी तय किया है कि github.com/webpack-contrib/sass-loader/commit/… में , इसलिए आप sass-loader@10.0.5
Marcin

2
@TylikStec यार्न एक और पैकेज मैनेजर है, लेकिन दोनों एक ही प्रोजेक्ट में उपयोग नहीं करते हैं, दो लॉक फाइलें होने से तैनाती में समस्या हो सकती है
बिनारा मेदावत्ता

14
@marcin यह मज़ेदार है कि आप "वे" कहते हैं क्योंकि जवाब पोस्ट करने वाले व्यक्ति वह हैं जिन्होंने इसे ठीक किया है:]
बेंजामिन ग्रुएनबाउम

yarn remove node-sassऔर yarn add node-sass@4यह मेरे लिए किया।
RonquilloAeon

31

नोड-एसएएस की स्थापना रद्द करें

npm uninstall node-sass

द्वारा sass का उपयोग करें :

npm install -g sass
npm install --save-dev sass

4
इस दृष्टिकोण का उपयोग करके सावधान रहें। रिएक्ट-स्क्रिप्ट sass-loader v8 का उपयोग करता है, जो नोड-एसएएस को sass (जिसमें कुछ सिंटैक्स नोड-एसएएस द्वारा समर्थित नहीं है) को प्राथमिकता देता है। यदि दोनों स्थापित हैं और उपयोगकर्ता ने sass के साथ काम किया है, तो इससे css संकलन पर त्रुटियाँ हो सकती हैं।
निकोलस हेविया

1
और भी, वैश्विक इंस्टॉल के साथ सावधान रहें।
डेव कैंटर

1
प्रोजेक्ट विशिष्ट निर्भरता के लिए वैश्विक इंस्टॉल से बचें। आप हमेशा npx sassप्रोजेक्ट रेपो में npx उदाहरण के साथ एक स्थानीय निर्भरता का संदर्भ दे सकते हैं ।
fengelhardt

मैं नोड v-14.15.3 नोड- sass 4.14.1 के साथ उपयोग कर रहा हूं और केवल sass दृष्टिकोण काम करता है। नोड-एसएएस को अनइंस्टॉल करना और पुनर्निर्माण करना या इसे 5.x में अपग्रेड करना समस्या का समाधान नहीं था। धन्यवाद!
माइक

26

केवल एक ही कारण है कि आपको कुछ त्रुटि मिलती है, ऐसा इसलिए है क्योंकि आपका नोड संस्करण आपके नोड-एसएएस संस्करण के साथ संगत नहीं है।

तो, यहाँ पर प्रलेखन की जाँच करना सुनिश्चित करें: https://www.npmjs.com/package/node-sass

या नीचे दी गई यह छवि आपकी मदद करेगी, नोड संस्करण नोड-एसएएस संस्करण का उपयोग क्या कर सकता है।

यहां छवि विवरण दर्ज करें

एक उदाहरण के लिए, यदि आप अपनी विंडोज़ ("शायद") पर नोड संस्करण 12 का उपयोग कर रहे हैं , तो आपको नोड-एसएएस 4.12 स्थापित करना होगा ।

npm install node-sass@4.12

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


इस दृष्टिकोण के साथ आप v4.x के लिए नवीनतम संस्करण होने के बजाय, v4.x पर लॉक हो जाते हैं। उदाहरण के लिए नोड 12 4.14 के साथ अटक जाएगा भले ही यह 4.14 का समर्थन करता है। npm अपडेट नोड-एसएएस तब तक काम नहीं करेगा जब तक कि आप उपयोग नहीं करते npm install node-sass@^4.12जो 4.14.1 (v4 का नवीनतम ज्ञात संस्करण) स्थापित करने से समान है।
निकोलस हेविया 12

आपकी प्रतिक्रिया के लिए धन्यवाद निकोलस हेविया, लेकिन मुझे लगता है कि ऊपर कोड की कोशिश की गई है और आप सही हैं, अगर मैं उपयोग कर रहा हूं तो नोड-एसएएस के उस संस्करण को अपडेट नहीं कर सकता npm install node-sass@4.12। लेकिन मुझे नोडज-एसएएस 4.14.1 के साथ नोडज 12.18.3 में कोशिश की गई है और यह काम नहीं कर रहा है। इसलिए मैंने उस संस्करण का उपयोग करने के लिए पुनर्संयोजन किया है जो नोड-एसएएस टीम ने पुनः प्राप्त किया है और मैं उपयोग नहीं कर रहा हूं ^। क्योंकि यह नोड-एसएएस 4 के नवीनतम संस्करण में अपडेट होगा
टाइटस सुतियो फैनपुला

8

यदि आप CRA का उपयोग डिफ़ॉल्ट yarnपैकेज प्रबंधक के साथ करने के लिए करते हैं, तो निम्न का उपयोग करें। मेरे लिए काम किया।

yarn remove node-sass 
yarn add node-sass@4.14.1

2

नोड-सैस पैकेज (नोड- sass@4.14.1) के विशेष संस्करण को जोड़ने के बाद इसने मेरे लिए काम किया


1

यह त्रुटि तब होती है जब NodeJS और Node Sass के संस्करण मेल नहीं खाते हैं।

आप नीचे के रूप में करके अपनी समस्या को हल कर सकते हैं:

- चरण 1 : अपने कंप्यूटर से Nodejs निकालें

- चरण 2 : Nodejs संस्करण 14.15.1 को पुनर्स्थापित करें।

- चरण 3 : कमांड चलाकर Node sass की स्थापना रद्द करेंnpm uninstall node-sass

- स्टेप 4 : कमांड चलाकर Node sass वर्जन 4.14.1 को फिर से इंस्टॉल करेंnpm install node-sass@4.14.1

सभी चरणों के बाद, आप ng serve -oअपना एप्लिकेशन चलाने के लिए कमांड चला सकते हैं।

नोड सास संस्करण 5.0.0 ^ 4.0.0 के साथ असंगत है।


0

अगर त्रुटि है

त्रुटि: नोड सास संस्करण 5.0.0 ^ 4.0.0 के साथ असंगत है

Step1: सर्वर बंद करो

Step2: रन कमांड हैं npm uninstall node-sass

Step3: नोड-एसएएस की जांच करें package.jsonयदि फाइल में नोड-एसएएस उपलब्ध है तो फिर से चरण 2 चलाएं।

Step4: npm install node-sass@4.14.1<=== रन कमांड

Step5: तब तक प्रतीक्षा करें जब तक कि कमांड सफलतापूर्वक न चल जाए।

Step6: स्टार्ट-सर्वर का उपयोग npm start

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