हाल ही में मैंने Node v.6 में स्विच किया है, और यह सामान्य बिल्ड ग्रंट / गुलशन / थैला चलाने के साथ अधिक से अधिक समस्याएं पैदा करना शुरू कर दिया है
उदाहरण के लिए:
$ gulp
[14:02:20] Local gulp not found in ~/_Other/angular-2-ts/angular2-seed
[14:02:20] Try running: npm install gulp
जबकि gulp और अन्य सभी प्लगइन्स और मॉड्यूल स्थापित किए गए हैं (और यहां तक कि फिर से इंस्टॉल किए गए हैं rm -rf node_modules
) / node_modules फ़ोल्डर में।
उन त्रुटियों में से अधिकांश की तरह लाइन है
(node:42) fs: re-evaluating native module sources is not supported.
If you are using the graceful-fs module,
please update it to a more recent version.
42 के साथ मनमानी संख्या के रूप में
उस मुद्दे की तरह, जो मैंने प्रस्तुत किया है - angular2-seed repo में https://github.com/mgechev/angular2-seed/issues/902
मुझे क्या करना की कोशिश की है n के माध्यम से नोड v.5 को ढाल है ( https://www.npmjs.com/package/n ) - यह काम किया। फिर सभी node_modules
फ़ोल्डर्स को हटा दें , फिर करें
npm info graceful-fs -v
3.3.6
ठीक है, नए उन्नयन या हटाने और स्थापित करने देता है:
npm i graceful-fs@latest
npm i graceful-fs@4.1.4
sudo npm i graceful-fs@4.1.4 -g
सभी में परिणाम
npm info graceful-fs -v
3.3.6
तो अब मैं शालीनता से सुशोभित-एफएस 3.3.6 या कुछ मॉड्यूल आश्रितों में भी बदतर हूं , जैसे
$ angular2-seed
$ npm install
//other lines..
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before
will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0
as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
यहां क्या रणनीति हो सकती है:
- मैन्युअल रूप से उन सभी डिपों को पैच करें जिनमें ग्रेसफुल-एफएस <4.0.0 है।
- विशिष्ट पैकेज संस्करण का उपयोग करने के लिए कुछ वैश्विक स्विच है?
- सब कुछ पुनर्स्थापित करें?