टास्क रनर एक्सप्लोरर कार्यों को लोड नहीं कर सकता है


101

मैं VS2015 और गल्प का उपयोग कर रहा हूं। मैं टास्क रनर एक्सप्लोरर को खोलता हूं और रिफ्रेश हिट करता हूं, और यह लॉग में दिखाई देता है:

Failed to run "C:\Projects\Test\Gulpfile.js"...
cmd.exe /c gulp --tasks-simple
Error: `libsass` bindings not found in C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\binding.node. Try reinstalling `node-sass`?
    at Object.sass.getBinaryPath (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\extensions.js:148:11)
    at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\index.js:16:36)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\index.js:163:21)
    at Module._compile (module.js:456:26)

इसलिए मैं cmd.exe /c gulp --tasks-simpleउसी निर्देशिका में PowerShell में चलने की कोशिश करता हूं , और यह ठीक काम करता है - यह कार्यों की एक सूची देता है।

मैं अपने SASS से संबंधित कार्यों को ठीक से चलाने में सक्षम हूं, इसलिए मुझे यकीन नहीं है कि यह SASS के बारे में शिकायत क्यों कर रहा है जब इसे वीएस के माध्यम से चलाया जा रहा है लेकिन सीधे कमांड लाइन पर नहीं।

जवाबों:


314

मुझे हाल ही में VS2013 से पलायन करने में भी यही समस्या थी।

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

  • पर जाएं: उपकरण> विकल्प> परियोजनाएं और समाधान> बाहरी वेब उपकरण
  • फिर से चालू करें ताकि $(PATH)ऊपर हो$(DevEnvDir)\Extensions\Microsoft\Web Tools\External

यह ग्रंट, बोवर और गल्प जैसे अन्य उपकरणों पर भी लागू होता है।

मैड्स क्रिस्टेंसन द्वारा यह समाधान यहां पाया गया

विजुअल स्टूडियो 2017 के लिए, हम सेटिंग को देख सकते हैं
Tools > Options > Projects and Solutions > Web Package Management > External Web Tools


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

1
किसी को त्रुटि संदेश में यह समाधान मिलता है! # ग्रिन #
इयान एम नॉर्मन

1
VS2017 में यह टूल्स> विकल्प> प्रोजेक्ट्स एंड सॉल्यूशंस> वेब पैकेज मैनेजमेंट> एक्सटर्नल वेब टूल्स
जेम्स एलिस-जोन्स

5
VS2017 में, आपको $ (PATH) से ऊपर $ (VSINSTALLERDIR) \ Web \ External
जॉन Pankowicz

1
VS2017 में, मुझे $ (PATH) को भी ऊपर ले जाना था। \ n नोड_modules \ .bin (मूल रूप से, मुझे इसे शीर्ष पर ले जाना था।)
डग

7

ऐसा लगता है कि गुलप-सास एक अलग स्थान में नोड-एसएएस खोजता है। यहाँ एक अस्थायी समाधान है।

  1. win32-ia32-11 नाम से एक नई निर्देशिका बनाएं c: \ Projects \ Test \ नोड_modules \ gulp-sass \ नोड_modules \ नोड- sass \ seller \

  2. गोटो https://github.com/sass/node-sass-binaries और win32-ia32-11_binding.node डाउनलोड करें

  3. Win32-ia32-11_binding.node फाइल को c: \ Projects \ Test \ नोड_modules \ gulp-sass \ node_modules \ नोड-sass \ seller \ win32-ia32-11 \ _ में कॉपी करें और इसे बाइंड करने के लिए नाम बदलें।

विजुअल स्टूडियो गल्प - टास्क रनर


1
ओह समझा। ऐसा प्रतीत होता है कि मैंने अपने सभी नोड मॉड्यूल के 64-बिट संस्करण को स्थापित किया है, लेकिन यह 32-बिट संदर्भ में चल रहा होगा क्योंकि मैं वीएस में हूं जो कि 32-बिट है। मेरा अनुमान। और मैं 32-बिट संकुल की स्थापना के लिए एक अच्छा तरीका खोजने के लिए प्रतीत नहीं कर सकता। आश्चर्य की बात है कि मैं इस विषय पर अधिक जानकारी नहीं पा सका, लगता है कि बहुत से लोगों को यह समस्या होगी।
जोश एम।

और मैं भी एनपीएम को सभी पैकेजों के ia32 संस्करण को स्थापित करने के लिए मजबूर करने का एक अच्छा तरीका नहीं ढूंढ सका। मैंने .npmrcउचित विन्यास विकल्प के साथ एक फ़ाइल बनाने की कोशिश की , लेकिन कोई भाग्य नहीं। यहां तक ​​कि npm installएक 32-बिट PS कंसोल के भीतर, 64 बिट संस्करण अभी भी स्थापित किए जा रहे हैं।
जोश एम।

यह पागलपन है। मैंने इसके बजाय नोड के 32 बिट संस्करण को स्थापित किया, और फिर अपने सभी पैकेजों को फिर से इंस्टॉल किया और इस बार नोड-एसएएस का 32 बिट संस्करण स्थापित किया गया है, लेकिन बाध्यकारी win32-ia32-14इसके बजाय है win32-ia32-11- जो किसी कारण के libsassलिए देख रहा है ...
जोश एम।

BTW आपका समाधान काम करता है, लेकिन मैं इसे एक बंद के रूप में देखता हूं - मैं नहीं चाहता कि यह एक ऐसा कदम हो, जो अन्य डेवलपर्स को तब लेना है जब वे पहली बार इसे निकाल रहे हों!
जोश एम।

1
अर्घ, वह ०.१०.३१ ३२ वाँ कक्षा: nodejs.org/dist/v0.10.31/node-v0.10.31-x86.msi
जोश एम।

2

मैंने उपरोक्त सभी समाधानों की कोशिश की है, लेकिन यह काम नहीं करता है और मुझे यहां एक और समाधान मिला है

आपको अपने Node.js संस्करण के साथ Visual Studio चलाने को मजबूर करना होगा:

  1. Visual Studio 2015 में Tools> पर जाएंOptions
  2. Projects and Solutions> पर जाएंExternal Web Tools
  3. निम्नलिखित पथ जोड़ें: C:\Program Files\nodejs


0

नोड-एसएएस आवश्यक बाइनरी डाउनलोड करने के लिए एक इंस्टॉल स्क्रिप्ट चलाता है। यदि कोई पर्यावरण चर नहीं हैं, .npmrc चर या प्रक्रिया तर्क सेट हैं तो बाइनरी वर्तमान प्रक्रिया मंच, वास्तुकला और नोड एबीआई संस्करण का उपयोग करके निर्धारित की जाती है। इसलिए, यदि आप एक एप्लिकेशन में नोड इंस्टॉल चलाते हैं और फिर एक अलग प्लेटफॉर्म / आर्किटेक्चर / एबीआई के साथ एक एप्लिकेशन में नोड-एसएएस चलाने की कोशिश करते हैं, तो बाइनरी डाउनलोड नहीं हुई होगी। इसका समाधान बाइनरी को मैन्युअल रूप से डाउनलोड करना है या एक पर्यावरण चर (SASS_BINARY_NAME) या एक .npmrc चर (sass_binary_name) का उपयोग करके द्विआधारी संस्करण को ठीक करना है।

आप इसके लिए लॉजिक देख सकते हैं getBinaryPath फ़ंक्शन में नोड- sass \ lib \ Extension.js

इसे भी देखें: नोड सास को आपके वर्तमान परिवेश के लिए कोई बंधन नहीं मिला

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