এনটিএম থেকে উত্সটি ইনস্টল না করে ডাউনলোড করুন


85

আমি কীভাবে কোনও প্যাকেজটির উত্স কোডটি এনএমপি থেকে ডাউনলোড না করে এটি ইনস্টল না করে (অর্থাত্ ব্যবহার না করে npm install thepackage) ডাউনলোড করতে পারি ?

উত্তর:


84

তুমি ব্যবহার করতে পার npm view [package name] dist.tarball যা সংকুচিত প্যাকেজ ফাইলের URL ফিরিয়ে দেবে।

wgetটার্বল ডাউনলোড করতে এখানে একটি উদাহরণ দেওয়া হয়েছে :

wget $(npm view lodash dist.tarball)

8
npm pack <package's name>সংক্ষিপ্ততম বর্তমান উপায়
পুনর্বিবেচনা

ডাউনভোটেড কারণ এটি এনপিএম প্রমাণীকরণের তথ্য ব্যবহার করে না এবং ফলাফল বেসরকারী প্যাকেজগুলির জন্য 401 ত্রুটি।
ডের হচস্টাপলার

59

এটি করার একটি সহজ উপায় npm pack <package_name>। এটি রেজিস্ট্রি থেকে টারবালটি পুনরুদ্ধার করবে, এটি আপনার এনএমপি ক্যাশে রাখবে এবং বর্তমান কার্যকারী ডিরেক্টরিতে একটি অনুলিপি রাখবে। Https://docs.npmjs.com/cli/pack দেখুন


পারফেক্ট এছাড়াও: বর্তমান ডিরেক্টরিটিতে ফাইল না npm pack --dry-run <package_name>রেখে একই একই আউটপুট উত্পাদন করবে tgz
friederbluemle

43

আপনি যদি বর্তমান পাবলিক এপিআই সহ এনপিএম ইনস্টল না করে থাকেন তবে আপনি ইউআরএল থেকে এনপিএম রেজিস্ট্রিতে থাকা একটি প্যাকেজ সম্পর্কিত তথ্য অ্যাক্সেস করতে পারেন https://registry.npmjs.org/<package-name>/

তারপরে আপনি versions > (version number) > dist > tarballকোড সংরক্ষণাগারের ইউআরএল পেতে এবং এটি ডাউনলোড করতে JSON এ নেভিগেট করতে পারেন ।


4
ধন্যবাদ! এটি আমি যা খুঁজছিলাম
আদিত্য বিকাশ দেবরপল্লি

28

npm pack XXX টাইপ করা দ্রুত এবং এটি একটি সংরক্ষণাগার ডাউনলোড করবে।

বিকল্পভাবে:

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

এই আদেশটিও করবে:

  • অগ্রগতি বার সহ প্যাকেজটি ডাউনলোড করুন
  • নামক একটি ফোল্ডারে এক্সট্রাক্ট করে package

21

লিনাক্সে আমি সাধারণত এই জাতীয় প্যাকেজের টারবল ডাউনলোড করি:

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

ব্যাকটিকগুলি দেখুন st `, স্ট্যাকওভারফ্লোতে আমি এগুলিকে স্পষ্ট দেখতে পাচ্ছি না।

"ভি" হ'ল দেখার জন্য অন্য একটি নাম

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


4
এই আদেশটি আপনাকে টারবলের সরাসরি লিঙ্ক দেয়। registry.npmjs.org/packagename/-/packagename-version.tgz
আর্নস্ট আর্নস্ট

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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.