इसे स्थापित किए बिना npm से स्रोत डाउनलोड करें


84

मैं वास्तव में इसे स्थापित किए बिना (अर्थात उपयोग किए बिना npm install thepackage) एनपीएम से पैकेज का स्रोत कोड कैसे डाउनलोड कर सकता हूं ?

जवाबों:


83

आप उपयोग कर सकते हैं npm view [package name] dist.tarballजो संपीड़ित पैकेज फ़ाइल का URL लौटाएगा।

यहाँ एक उदाहरण wgetटारबॉल डाउनलोड करने का उपयोग कर रहा है:

wget $(npm view lodash dist.tarball)

8
npm pack <package's name>सबसे छोटा वर्तमान तरीका है
खुला

नीच क्योंकि यह npm प्रमाणीकरण जानकारी का उपयोग नहीं करता है और निजी संकुल के लिए 401 त्रुटियों में परिणाम है।
डेर होकस्टापलर

59

ऐसा करने का एक सरल तरीका है npm pack <package_name>। यह रजिस्ट्री से टारबॉल को फिर से प्राप्त करेगा, इसे अपने npm कैश में रखें, और वर्तमान कार्य निर्देशिका में एक प्रति डाल दें। Https://docs.npmjs.com/cli/pack देखें


उत्तम। इसके अलावा: वर्तमान निर्देशिका में फ़ाइल npm pack --dry-run <package_name>रखने के बिना, एक ही सटीक आउटपुट का उत्पादन करेगा tgz
फ्राइडेरब्लुमेले

41

यदि आपने वर्तमान सार्वजनिक API के साथ npm को स्थापित नहीं किया है, तो आप URL से npm रजिस्ट्री में एक पैकेज की जानकारी भी प्राप्त कर सकते हैं https://registry.npmjs.org/<package-name>/

फिर आप versions > (version number) > dist > tarballकोड संग्रह का URL प्राप्त करने के लिए JSON पर नेविगेट कर सकते हैं और इसे डाउनलोड कर सकते हैं।


1
धन्यवाद! यह वही है जो मैं देख रहा था
आदित्य विकास देवरापल्ली

28

npm pack XXX टाइप करने के लिए सबसे तेज है और यह एक संग्रह डाउनलोड करेगा।

वैकल्पिक रूप से:

npm v XXX dist.tarball | xargs curl | tar -xz

यह आदेश भी होगा:

  • पैकेज को प्रगति बार के साथ डाउनलोड करें
  • नामक एक फ़ोल्डर में अर्क package

21

लिनक्स पर मैं आमतौर पर इस तरह से एक पैकेज का टारबॉल डाउनलोड करता हूं:

wget `npm v [package-name] dist.tarball`

स्टैकओवरफ्लो पर बैकटिक्स `` को नोटिस करें, मैं उन्हें स्पष्ट रूप से नहीं देख सकता।

"v" देखने के लिए सिर्फ एक अन्य उपनाम है:

https://docs.npmjs.com/cli/view


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

0

गुस्तावो रोड्रिग्स के उत्तर के आधार पर , .tgz में "पैकेज" निर्देशिका को ठीक करता है, नवीनतम लघु संस्करण खोज को जोड़ता है।

#!/bin/bash

if [[ $# -eq 0 ]] ; then
    echo "Usage: $0 jquery bootstrap@3 tinymce@4.5"
    exit 64 ## EX_USAGE
fi

set -e ## So nothing gets deleted if download fails

for pkg_name in "$@"
do

    ## Get latest version, also works with plain name
    url=$( npm v $pkg_name dist.tarball | tail -n 1 | cut -d \' -f 2 )
    tmp_dir=$( mktemp -d -p . "${pkg_name}__XXXXXXXXX" )

    ## Unpacks to directory named after package@version
    curl $url | tar -xzf - --strip 1 --directory $tmp_dir
    rm -rf $pkg_name
    mv $tmp_dir $pkg_name
done
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.