Npm का उपयोग किए बिना एक नोड.जेएस मॉड्यूल कैसे स्थापित करें?


115

काफी कुछ मॉड्यूल हैं जो नोड के जीथूब पेज पर सूचीबद्ध हैं, लेकिन एनपीएम-रजिस्ट्री के साथ प्रकाशित नहीं होते हैं। ये मॉड्यूल npm का उपयोग करके स्थापित नहीं किया जा सकता है।

Git से क्लोन करने के बाद इन नोडज मॉड्यूल को स्थापित करने का सही तरीका क्या है?

जवाबों:


73

आपको गितुब से उनके स्रोत को डाउनलोड करने की आवश्यकता है। मुख्य फ़ाइल ढूंढें और फिर इसे अपनी मुख्य फ़ाइल में शामिल करें।

इसका एक उदाहरण यहां पाया जा सकता है> नोड.जेएस मॉड्यूल को मैन्युअल रूप से कैसे स्थापित किया जाए?

आमतौर पर आपको स्रोत खोजने और पैकेज.जॉन फ़ाइल के माध्यम से जाने की आवश्यकता होती है। वहां आप पा सकते हैं कि कौन सी मुख्य फाइल है। ताकि आप इसे अपने आवेदन में शामिल कर सकें।

अपने ऐप में example.js शामिल करने के लिए। इसे अपने एप्लिकेशन फ़ोल्डर में कॉपी करें और इसे अपने मुख्य जेएस फ़ाइल के शीर्ष पर जोड़ें।

var moduleName = require("path/to/example.js")


1
क्या बाहरी URL (जैसे var myscript = require("http://www.mywebsite.com/myscript.js")) से स्क्रिप्ट आयात करना संभव है ? ऐसा लगता है कि requireफ़ंक्शन बाहरी URL के लिए कार्य नहीं करता है।
एंडरसन ग्रीन

2
आवश्यकता वास्तव में तुल्यकालिक है, इसलिए नहीं, यह बाहरी URL के लिए काम नहीं करता है।
क्रिस टावर्स

नोट: आपको -masterगिथब लाइब्रेरीज़ के लिए संलग्न को हटाने की आवश्यकता है ; परिवर्तन के रूप में xxx-masterकरने के लिए xxx
BAR

65

ये मॉड्यूल npm का उपयोग करके स्थापित नहीं किया जा सकता है।

वास्तव में आप एक स्थानीय पथ के नाम के बजाय निर्दिष्ट करके एक मॉड्यूल स्थापित कर सकते हैं। जब तक रिपॉजिटरी के पास एक वैध package.jsonफाइल है तब तक उसे काम करना चाहिए।


प्रकार npm -lऔर एक बहुत मदद की तरह दिखाई देगा:

CLI:

...
install     npm install <tarball file>
                npm install <tarball url>
                npm install <folder>
                npm install <pkg>
                npm install <pkg>@<tag>
                npm install <pkg>@<version>
                npm install <pkg>@<version range>

                Can specify one or more: npm install ./foo.tgz bar@stable /some/folder
                If no argument is supplied and ./npm-shrinkwrap.json is 
                present, installs dependencies specified in the shrinkwrap.
                Otherwise, installs dependencies from ./package.json.

मेरी आँखों ने क्या पकड़ा: npm install <folder>

मेरे मामले में मुझे mrtमॉड्यूल से परेशानी थी इसलिए मैंने ऐसा किया (एक अस्थायी निर्देशिका में)

  • रेपो को क्लोन करें

     git clone https://github.com/oortcloud/meteorite.git
  • और मैं इसे विश्व स्तर पर स्थापित करता हूं:

     npm install -g ./meteorite

सुझाव:

कोई भी उसी तरह से स्थानीय npm परियोजना के लिए रेपो को स्थापित कर सकता है:

     npm install ../meteorite

और यह भी कि रेपो के लिए एक लिंक बनाया जा सकता है, यदि विकास में एक पैच की आवश्यकता होती है:

     npm link ../meteorite

1
सबसे श्रेष्ठ। मुझे एक मॉड्यूल के साथ भी परेशानी हो रही थी, इसलिए मैंने इसे कांटा और अपने वेब प्रोजेक्ट की एक निर्देशिका निर्देशिका को क्लोन किया, यह सब नवीनतम संस्करणों के लिए निर्भरता अद्यतन किया, और फिर इसे 'npm install ..' के साथ अपने वेब प्रोजेक्ट में स्थापित किया। टूट_मोडुले_नाम जो एक आकर्षण की तरह काम करते थे। धन्यवाद!
पेरी टिव

+1 लेकिन यह काम नहीं करता है अगर हमारे पास npm के लिए नेटवर्क एक्सेस नहीं है और हम जिस मॉड्यूल के साथ इंस्टॉल कर रहे हैं उसमें npm install <folder>अनगिनत अन्य npm निर्भरताएं हैं।
अब्दुल रऊफ़

अगर npm पैकेज को नोड_मॉड्यूल्स में ढूँढता है, या तो ग्लोबल (यहाँ निश्चित नहीं) स्कोप या लोकल वन से, तो यह दोबारा डाउनलोड करने का प्रयास नहीं करेगा। इसका मतलब है कि यदि रेपो के सभी प्रत्यक्ष निर्भरता को पूर्व-डाउनलोड किया जा सकता है और नोड_मॉडल फ़ोल्डर में कॉपी किया जा सकता है, तो यह काम करेगा।
तिबरियु सी।

11

Github से नोड_मॉडल निर्देशिका में कोड डाउनलोड करें

var moduleName = require("<name of directory>")

इससे हो जाना चाहिए।

यदि मॉड्यूल पर निर्भरताएं हैं और एक पैकेज है। Json, मॉड्यूल खोलें और npm इंस्टॉल करें।

उम्मीद है की यह मदद करेगा


मुझे लगता है कि यह कोड काम करता है अगर मुख्य फ़ाइल का नाम हैindex.js
R3tep

8

आप मॉड्यूल को सीधे अपने स्थानीय प्रोजेक्ट में क्लोन कर सकते हैं।

टर्मिनल शुरू करें। अपने प्रोजेक्ट में सीडी और फिर:

npm स्थापित करें https://github.com/repo/npm_module.git --save


1
जिस उत्तर की मुझे तलाश थी।
फैसल मक

क्या होता है जब पैकेज बदल दिया गया है, तो आप नवीनतम संस्करण में कैसे अपडेट करेंगे? ATM, एकमात्र "समाधान" मैंने पाया कि नोडर को नोड_मॉड्यूल्स से हटाना था, पैकेज.जॉन एंट्री को हटाना और फिर से जोड़ना, जो एक दर्द है ...
प्रेड्रैग स्टोज्डिनोविक

1

क्रमशः:

  • चलो मान लीजिए कि आप एक परियोजना पर काम कर रहे हैं use-gulpजो उपयोग करता है ( requireरों) node_modulesकी तरह gulpऔर gulp-util
  • अब आप कुछ संशोधनों को करना चाहते हैं gulp-utilऔर अपनी use-gulpपरियोजना के साथ स्थानीय स्तर पर इसका परीक्षण करते हैं ...
  • gulp-utilगिथुब / बिटबकेट आदि पर कांटा परियोजना
  • अपनी परियोजना पर जाएँ: cd use-gulp/node_modules
  • क्लोन के gulp-utilरूप में gulp-util-dev:git clone https://.../gulp-util.git gulp-util-dev
  • उपलब्ध npm installकी निर्भरता सुनिश्चित करने के लिए चलाएं gulp-util-dev
  • अब आप के gulp-utilरूप में एक दर्पण है gulp-util-dev। अपने use-gulpप्रोजेक्ट में, अब आप अपने द्वारा किए गए परिवर्तनों का परीक्षण करने के लिए: require('gulp-util')...;कॉल कर सकते हैं: के साथ कॉल करेंrequire('gulp-util-dev')gulp-util-dev
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.