node.js - tutorial - npm install




আপনি Node.js(package.json) এর জন্য "devdependencies" এনপিএম মডিউল ইনস্টল করতে কিভাবে বাধা দেবেন? (10)

আমার প্যাকেজে এটি আছে। JSON ফাইল (সংক্ষিপ্ত সংস্করণ):

{
  "name": "a-module",
  "version": "0.0.1",
  "dependencies": {
    "coffee-script":      ">= 1.1.3"
  },
  "devDependencies": {
    "stylus":             ">= 0.17.0"
  }
}

আমি ম্যাক 10.6.8 এ এনপিএম সংস্করণ 1.1.1 ব্যবহার করছি।

যখন আমি প্রজেক্ট রুট থেকে নিম্নোক্ত কমান্ড চালাতে পারি, এটি dependencies এবং devDependencies উভয়ই ইনস্টল করে:

npm install

আমি ছাপ অধীনে ছিল যে এই কমান্ড devDependencies ইনস্টল:

npm install --dev

কিভাবে আমি এটিকে npm install কেবলমাত্র dependencies ইনস্টল করি (তাই উত্পাদন পরিবেশ শুধুমাত্র সেই মডিউলগুলি পায়), যখন npm install --dev ইনস্টলেশনের মতো কিছু npm install --dev উভয় dependencies এবং devDependencies ইনস্টল করে?


"Npm ইনস্টল" ব্যবহার করার সময় মডিউল লোড এবং আপনার অ্যাপ্লিকেশন জুড়ে উপলব্ধ থাকলেও এটি "devdependencies" বা "নির্ভরতা" কিনা তা নির্বিশেষে উপলব্ধ। এই ধারণাটির সমষ্টি: আপনার প্যাকেজ.জসন নির্ভরতা হিসাবে (যেকোন ধরনের) সংজ্ঞায়িত করে সবকিছু node_modules এ ইনস্টল করা হয়।

নির্ভরশীলতা / devdependencies / ঐচ্ছিক dependencies মধ্যে পার্থক্য জন্য উদ্দেশ্য এই কোড ইনস্টল করতে আপনার কোড ভোক্তাদের w / npm করতে পারেন কি।

ডকুমেন্টেশন প্রতি: https://npmjs.org/doc/json.html ...

কেউ যদি তাদের প্রোগ্রামে আপনার মডিউল ডাউনলোড এবং ব্যবহার করার পরিকল্পনা করছে, তবে সম্ভবত আপনি যে বাইরের পরীক্ষা বা ডকুমেন্টেশনের ফ্রেমওয়ার্কটি ব্যবহার করেন তা ডাউনলোড করতে এবং তৈরি করতে হবে না।

এই ক্ষেত্রে, এই অতিরিক্ত আইটেমগুলিকে একটি devdependencies হ্যাশে তালিকাভুক্ত করা সেরা।

যখনই --dev কনফিগারেশন পতাকা নির্ধারণ করা হয় তখন এই জিনিসগুলি ইনস্টল করা হবে। এই পতাকাটি npm লিঙ্কটি করার সময় স্বয়ংক্রিয়ভাবে নির্ধারণ করা হয় অথবা প্যাকেজের রুট থেকে npm ইনস্টল করার সময়, এবং অন্য কোন npm কনফিগারেশন প্যারামির মতো পরিচালিত হতে পারে। বিষয় আরও তথ্যের জন্য কনফিগার (1) দেখুন।

যাইহোক, এই প্রশ্নটি সমাধান করার জন্য, যদি আপনি কেবল npm ব্যবহার করে "নির্ভরতা" ইনস্টল করতে চান তবে নিম্নলিখিত কমান্ডটি হল:

npm install --production

এটি এই ফিল্টারটি যুক্ত করে গিট কমিটিতে দেখিয়ে নিশ্চিত করা যেতে পারে (এই কার্যকারিতাটি সরবরাহ করার জন্য [নীচে তালিকাভুক্ত অন্যান্য ফিল্টারগুলি সহ]।

বিকল্প ফিল্টার যা npm দ্বারা ব্যবহার করা যেতে পারে:

--save          => updates dependencies entries in the {{{json}}} file
--force         => force fetching remote entries if they exist on disk 
--force-latest  => force latest version on conflict
--production    => do NOT install project devDependencies
--no-color      => do not print colors

@dmarr npm ইনস্টল - প্রজেক্ট ব্যবহার করার চেষ্টা করুন


আপনি যদি 2016 এ এই পোষ্টটি পড়েন, তবে ব্যবহার করে আপনি যা চান তা অর্জন করুন

--only={prod[uction]|dev[elopment]} 

যুক্তি শুধুমাত্র NODE_ENV নির্বিশেষে শুধুমাত্র devDependencies বা শুধুমাত্র non-devdependencies ইনস্টল করা হবে।

থেকে: https://docs.npmjs.com/cli/install


আমি এটি পেয়েছি যে, যখন কোনও নোড অ্যাডঅন ধারণকারী প্যাকেজের জন্য ডেভ নির্ভরতা ইনস্টল করার চেষ্টা করা হয়, তখন আপনি npm ইনস্টল --dev চালানোর সময় অ্যাডন তৈরি করতে এড়াতে পারবেন না, এমনকি যদি আপনি devdependencies ইনস্টল করতে চান। তাই, আমি প্রায় npm এর পিছনে যেতে হবে:

node -e 'console.log( Object.keys( require( "./package.json" ).devDependencies ) );' | \
sed  -e "s/^[^']*'//" -e "s/'.*$//" | \
xargs npm install

অথবা, ভাল (এবং আরো সংক্ষিপ্তভাবে) এখনো,

node -e 'Object.keys( require( "./package.json" ).devDependencies )
.map( function( item ){ console.log( item ) } );' | xargs npm install

আমি যে সমস্যা মধ্যে খুব চালানো! এনপিএম ইন্সটলটি কিছুটা বিভ্রান্তিকর এবং ওয়েব পোস্টগুলি ডি-ফ্ল্যাটে আনতে থাকে যেমন একটি স্পষ্ট 'ডেভেলপমেন্ট' ইনস্টল মোড থাকে।

  • npm ইনস্টলেশান উভয় " নির্ভরশীলতা " এবং " devdependencies " ইনস্টল করবে

  • npm ইনস্টল - উত্পাদন শুধুমাত্র " নির্ভরতা " ইনস্টল করবে

  • npm ইনস্টল --dev শুধুমাত্র " devdependencies " ইনস্টল করবে


একটি প্যাকেজ থেকে ইনস্টল করার সময় package.json ডেভ নির্ভরতাগুলি ইনস্টল করবে (যদি বর্তমান ডিরেক্টরির মধ্যে একটি package.json )। এটি অন্য অবস্থান থেকে (এনপিএম রেজিস্ট্রি, গিট রেপো, ফাইল সিস্টেমে বিভিন্ন অবস্থান) থাকলে এটি কেবল নির্ভরতাগুলি ইনস্টল করে।


এখন একটি সমস্যা আছে, যদি আপনার প্যাকেজ-লক.জson এনপিএম 5+ থাকে। আপনি npm install --production ব্যবহার করার আগে এটি অপসারণ করতে npm install --production


নতুন বিকল্পটি হল:

npm install --only=prod

আপনি শুধুমাত্র devDependencies ইনস্টল করতে চান:

npm install --only=dev

নির্বাচিত উত্তর যোগ করার প্রয়োজন: এখন পর্যন্ত প্যাকেজ ডিরেক্টরি ( package.json ধারণকারী) এন.পি.পি.টি ডিভিডোপেডেন্সি ইনস্টল করবে, তবে npm install -g তাদের ইনস্টল করবে না।


npm install packageName --save npm install packageName --save-dev ব্যবহার করুন এটি নির্ভরযোগ্যতার মধ্যে প্যাকেজ যোগ করবে, যদি আপনি npm install packageName --save-dev তবে এটি devDependencies

npm install packageName --save-dev ব্যবহার ডেভেলপমেন্ট উদ্দেশ্যে প্যাকেজ যোগ করার জন্য ব্যবহার করা উচিত। টিডিডি প্যাকেজ যুক্ত করার মত (চা, মোকা, ইত্যাদি)। যা উত্পাদন এবং উত্পাদন ব্যবহৃত হয় না।


npm install --dev will install dev dependencies

এবং, শুধুমাত্র নির্ভরতা ইনস্টল করার প্রশ্ন অনুসারে, নিম্নলিখিত কমান্ড সাহায্য করবে

npm install --prod will install dependencies




npm