নির্ভরতা ছাড়াই এনপিএম প্যাকেজ ইনস্টল করার বিকল্প নেই?


21

আমি একাধিক নির্ভরতা সহ একটি এনএমপি প্যাকেজটি সংশোধন করার জন্য প্রমাণীকরণ করছি। যেমন npm install -g .কার্যকর করতে দীর্ঘ সময় লাগে। আমার কাছে প্যাকেজ.জসন থেকে নির্ভরতা অপসারণ ছাড়াও অন্যান্য বিকল্প আছে কি?

উত্তর:


18

--no-alচ্ছিক বিকল্পটি এখন এই ডকুমেন্টেশন https://docs.npmjs.com/cli/install অনুসারে প্রয়োগ করা হয়েছে :

The --no-optional argument will prevent optional dependencies from being installed.

7

দস্তাবেজগুলি সন্ধান করে এটি --no-optionalস্যুইচের বাইরে কোনও বিকল্প বলে মনে হচ্ছে না ।

অপরীক্ষিত / অনিশ্চিত

এই SO প্রশ্নোত্তর শিরোনাম: npm installনেটওয়ার্কের উপর দিয়ে আমার প্রকল্পের সমস্ত নির্ভরতা ইনস্টল করে, তারা ইতিমধ্যে ইনস্টল করা থাকলে বা ক্যাশে থেকে উপলভ্য থাকলেও বোঝা যাচ্ছে যে একটি --skip-installedসুইচ আছে। কিন্তু ডক্স এই স্যুইচটিতে কোনও রেফারেন্স দেয় না।


7

আপনি যদি এটি node_moduleনিজেই বিকাশ করছেন তবে npm installএর পরিবর্তে ব্যবহার করুন আপনার সময় নষ্ট করবেন না npm link

সংক্ষেপে, আপনি একটি এনএমপি-মালিকানাধীন গ্লোবাল ফোল্ডারে আপনার মডিউল ফোল্ডারে একটি প্রতীকী লিঙ্ক তৈরি করেন এবং তারপরে আপনার অ্যাপ্লিকেশন ফোল্ডারে আপনি এনপিএমকে সেই প্রতীকী লিঙ্কযুক্ত ফোল্ডারটি ব্যবহার করতে বলেন।

এটি মডিউল ফোল্ডারে আপনি যে পরিবর্তনগুলি করেছেন তা আপনার অ্যাপে তাত্ক্ষণিকভাবে প্রতিবিম্বিত হতে পারে।

এখানে মূল পদক্ষেপগুলি রয়েছে (নীচে লিঙ্কিত টিউটোরিয়াল থেকে অনুলিপি করা, গুরুত্বপূর্ণ গোটচের জন্য টিউটোরিয়ালটি পড়ার বিষয়টি নিশ্চিত করুন):

  1. সিডি টু src/my_module
  2. চালান " npm link"। এটি একটি গ্লোবাল ফোল্ডার থেকে ফোল্ডারে একটি প্রতীকী লিঙ্ক তৈরি করে src/my_module
  3. সিডি টু src/my_app
  4. চালান npm link my_module। এই লিঙ্ক node_modules/my_moduleবিশ্বব্যাপী ফোল্ডারে এই বিশেষ প্রকল্পে, যাতে requireকলের জন্য খুঁজছেন my_moduleআপনার উন্নয়ন ফোল্ডার থেকে এটা লোড বায়ু, src/my_module

এই টিউটোরিয়ালটি দেখুন: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears এবং এর জন্য অফিসিয়াল ডক্স npm link: https://docs.npmjs.com/cli/link


আমার গৃহীত উত্তর পরিবর্তন করা হচ্ছে না, তবে উত্সাহ দেওয়া কারণ এটি আমার নির্দিষ্ট ক্ষেত্রে কার্যকর।
জাস্টিন প্রিয়জন

4

এই বৈশিষ্ট্যটি 2010 সালে ফিরে অনুরোধ করা হয়েছিল, তবে দুর্ভাগ্যজনকভাবে এড়ানো এবং বন্ধ করা হয়েছিল: https://github.com/npm/npm/issues/340

আমি একগুচ্ছ বিকল্পগুলি চেষ্টা করে দেখেছি এবং শেষ পর্যন্ত একটি খুব সহজ সমাধান পেয়েছি - ডিন্ট এনটিএম ইনস্টল করার আগে প্যাকেজ.জেসনের নতুন নামকরণ করুন, ইন্সটল শেষ হওয়ার পরে এটি আবার ফিরিয়ে দিন:

mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json

2
বাহ, গুরুতরভাবে এখনও একমাত্র উপায়? এটি হাস্যকর, একটি পতাকা --ignore-packageবা কিছু থাকা উচিত ।
জ্যাকবডেদেভ 12:48

2
এই সমাধান ভাল এবং এ পর্যন্ত এটা আমার প্রশ্নের জন্য সবচেয়ে ভালো সমাধান হতে পারে: stackoverflow.com/questions/53532845/...
aGuegu
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.