আমি একাধিক নির্ভরতা সহ একটি এনএমপি প্যাকেজটি সংশোধন করার জন্য প্রমাণীকরণ করছি। যেমন npm install -g .কার্যকর করতে দীর্ঘ সময় লাগে। আমার কাছে প্যাকেজ.জসন থেকে নির্ভরতা অপসারণ ছাড়াও অন্যান্য বিকল্প আছে কি?
আমি একাধিক নির্ভরতা সহ একটি এনএমপি প্যাকেজটি সংশোধন করার জন্য প্রমাণীকরণ করছি। যেমন npm install -g .কার্যকর করতে দীর্ঘ সময় লাগে। আমার কাছে প্যাকেজ.জসন থেকে নির্ভরতা অপসারণ ছাড়াও অন্যান্য বিকল্প আছে কি?
উত্তর:
--no-alচ্ছিক বিকল্পটি এখন এই ডকুমেন্টেশন https://docs.npmjs.com/cli/install অনুসারে প্রয়োগ করা হয়েছে :
The --no-optional argument will prevent optional dependencies from being installed.
দস্তাবেজগুলি সন্ধান করে এটি --no-optionalস্যুইচের বাইরে কোনও বিকল্প বলে মনে হচ্ছে না ।
এই SO প্রশ্নোত্তর শিরোনাম: npm installনেটওয়ার্কের উপর দিয়ে আমার প্রকল্পের সমস্ত নির্ভরতা ইনস্টল করে, তারা ইতিমধ্যে ইনস্টল করা থাকলে বা ক্যাশে থেকে উপলভ্য থাকলেও বোঝা যাচ্ছে যে একটি --skip-installedসুইচ আছে। কিন্তু ডক্স এই স্যুইচটিতে কোনও রেফারেন্স দেয় না।
আপনি যদি এটি node_moduleনিজেই বিকাশ করছেন তবে npm installএর পরিবর্তে ব্যবহার করুন আপনার সময় নষ্ট করবেন না npm link।
সংক্ষেপে, আপনি একটি এনএমপি-মালিকানাধীন গ্লোবাল ফোল্ডারে আপনার মডিউল ফোল্ডারে একটি প্রতীকী লিঙ্ক তৈরি করেন এবং তারপরে আপনার অ্যাপ্লিকেশন ফোল্ডারে আপনি এনপিএমকে সেই প্রতীকী লিঙ্কযুক্ত ফোল্ডারটি ব্যবহার করতে বলেন।
এটি মডিউল ফোল্ডারে আপনি যে পরিবর্তনগুলি করেছেন তা আপনার অ্যাপে তাত্ক্ষণিকভাবে প্রতিবিম্বিত হতে পারে।
এখানে মূল পদক্ষেপগুলি রয়েছে (নীচে লিঙ্কিত টিউটোরিয়াল থেকে অনুলিপি করা, গুরুত্বপূর্ণ গোটচের জন্য টিউটোরিয়ালটি পড়ার বিষয়টি নিশ্চিত করুন):
src/my_module npm link"। এটি একটি গ্লোবাল ফোল্ডার থেকে ফোল্ডারে একটি প্রতীকী লিঙ্ক তৈরি করে src/my_module।src/my_appnpm 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
এই বৈশিষ্ট্যটি 2010 সালে ফিরে অনুরোধ করা হয়েছিল, তবে দুর্ভাগ্যজনকভাবে এড়ানো এবং বন্ধ করা হয়েছিল: https://github.com/npm/npm/issues/340
আমি একগুচ্ছ বিকল্পগুলি চেষ্টা করে দেখেছি এবং শেষ পর্যন্ত একটি খুব সহজ সমাধান পেয়েছি - ডিন্ট এনটিএম ইনস্টল করার আগে প্যাকেজ.জেসনের নতুন নামকরণ করুন, ইন্সটল শেষ হওয়ার পরে এটি আবার ফিরিয়ে দিন:
mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json
--ignore-packageবা কিছু থাকা উচিত ।