मैं वास्तव में इसे स्थापित किए बिना (अर्थात उपयोग किए बिना npm install thepackage
) एनपीएम से पैकेज का स्रोत कोड कैसे डाउनलोड कर सकता हूं ?
जवाबों:
आप उपयोग कर सकते हैं npm view [package name] dist.tarball
जो संपीड़ित पैकेज फ़ाइल का URL लौटाएगा।
यहाँ एक उदाहरण wget
टारबॉल डाउनलोड करने का उपयोग कर रहा है:
wget $(npm view lodash dist.tarball)
ऐसा करने का एक सरल तरीका है npm pack <package_name>
। यह रजिस्ट्री से टारबॉल को फिर से प्राप्त करेगा, इसे अपने npm कैश में रखें, और वर्तमान कार्य निर्देशिका में एक प्रति डाल दें। Https://docs.npmjs.com/cli/pack देखें
npm pack --dry-run <package_name>
रखने के बिना, एक ही सटीक आउटपुट का उत्पादन करेगा tgz
।
यदि आपने वर्तमान सार्वजनिक API के साथ npm को स्थापित नहीं किया है, तो आप URL से npm रजिस्ट्री में एक पैकेज की जानकारी भी प्राप्त कर सकते हैं https://registry.npmjs.org/<package-name>/
।
फिर आप versions > (version number) > dist > tarball
कोड संग्रह का URL प्राप्त करने के लिए JSON पर नेविगेट कर सकते हैं और इसे डाउनलोड कर सकते हैं।
लिनक्स पर मैं आमतौर पर इस तरह से एक पैकेज का टारबॉल डाउनलोड करता हूं:
wget `npm v [package-name] dist.tarball`
स्टैकओवरफ्लो पर बैकटिक्स `` को नोटिस करें, मैं उन्हें स्पष्ट रूप से नहीं देख सकता।
"v" देखने के लिए सिर्फ एक अन्य उपनाम है:
गुस्तावो रोड्रिग्स के उत्तर के आधार पर , .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
npm pack <package's name>
सबसे छोटा वर्तमान तरीका है