কীভাবে আপনি এনপিএম ব্যবহার করে কোনও অ্যাপের নির্ভরতা পুনরায় ইনস্টল করবেন?


383

আমার অ্যাপ্লিকেশন নির্ভর করে এমন সমস্ত প্যাকেজ পুনরায় ইনস্টল করার কি সহজ উপায় আছে (যেমন তারা আমার অ্যাপ্লিকেশন নোড_মডিউল ফোল্ডারে রয়েছে)?


4
npm rebuildদেশীয় নির্ভরতা নিয়ে কিছু
সমস্যাও

1
যদি এটি অন্যকে সহায়তা করে: আপনি যদি কেবল একটি প্যাকেজ পুনরায় ইনস্টল করার চেষ্টা করছেন তবে npm update <packageName>দুর্দান্ত কাজ করে
rinogo

উত্তর:


616

আমি দেখতে পাচ্ছি সবচেয়ে সহজ উপায় হ'ল node_modulesফোল্ডার মুছে ফেলা এবং চালানো npm install


27
একমত; ধরে নিচ্ছি আপনি package.jsonআপনার অ্যাপ্লিকেশনটির জন্য একটি ফাইল তৈরি করেছেন ।
জনিএইচকে

8
সাবধান থাকুন যে ডিরেক্টরিটি npm installসরানোর পরে দৌড়ানোর node_modulesফলে নীচের অংশে নির্ভরযোগ্যতার বিভিন্ন সংস্করণ তৈরি হতে পারে package.json। আপনার অ্যাপ্লিকেশনটির জন্য যদি নির্ভরতার খুব নির্দিষ্ট সংস্করণগুলির প্রয়োজন হয় তবে সাবধান হন এবং উত্স নিয়ন্ত্রণে npm shrinkwrapআপনার node_modulesডিরেক্টরিতে অনুসন্ধান করুন বা যাচাই করুন ।
স্মিথলে

9
@ স্মিথলে আমি আমার অ্যাপ্লিকেশন এর প্যাকেজ.জসনের প্যাকেজগুলির স্পষ্ট সংস্করণটি সংজ্ঞায়িত করেছি, তাই ঠিক আছে, তাই?
trusktr

@ ভাদিম আমি এর আচরণের জন্য কিছু পরীক্ষা করছিলাম npm installএবং এটি সর্বদা নির্ভরতা পুনরায় ইনস্টল করে এবং প্যাকেজ.জসনের অনুমতি অনুসারে সর্বশেষ সংস্করণে প্যাকেজগুলিকে আপগ্রেড করে। সুতরাং node_modulesআপনি যদি ভাবেন না যে ফোল্ডারগুলি দূষিত হয় unless এমন কোনও কারণ আছে যা আপনি মনে করেন এটি অপসারণ করা উচিত? যাইহোক, যদি উদ্দেশ্য হ'ল বহিরাগত এমন কোনও প্যাকেজ অপসারণ করা হয় তবে আপনি তার npm pruneপরিবর্তে কার্যকর করতে পারেন
হিমাংশু

1
@ হিমাংশু আপনি npm installসমস্ত মডিউলকে প্যাকেজ.জসন স্টেটে আপগ্রেড করেছেন। তবে প্রশ্নটি কীভাবে সমস্ত প্যাকেজ পুনরায় ইনস্টল করবেন । সুতরাং এগুলি দুর্নীতিগ্রস্থ হতে পারে বা আপগ্রেড নোড.জেএস ভেরিসনের পরে বাইনারি অংশগুলি পুনর্নির্মাণের প্রয়োজন হতে পারে।
ভাদিম বারেশেভ

96

সঠিক উপায়টি কার্যকর করা npm update। এটি সত্যিই শক্তিশালী কমান্ড, এটি অনুপস্থিত প্যাকেজগুলি আপডেট করে এবং এটি ইতিমধ্যে ইনস্টল করা প্যাকেজের নতুন সংস্করণ ব্যবহার করা যায় কিনা তাও পরীক্ষা করে।

এনপিএম-এর মাধ্যমে আপনি এনপিএম-এর মাধ্যমে কী করতে পারবেন তা জানতে ইন্ট্রো পড়ুন ।


57
তবে যদি কোনও নতুন প্যাকেজ না থাকে তবে এটি কিছুই করবে না, তাই না? প্যাকেজটি ইতিমধ্যে সর্বশেষ সংস্করণে থাকলেও আমি পুনরায় ইনস্টল করার জন্য জোর চেষ্টা করছি ।
trusktr

2
যদি কোনও অনুপস্থিত প্যাকেজ না থাকে, তবে এটি প্যাকেজ.জসনে তালিকাভুক্ত প্যাকেজগুলির সর্বশেষ সংস্করণ (প্যাকেজের নির্ভরতা সহ) ব্যবহার করতে পারে কিনা তা পরীক্ষা করবে। সুতরাং, সংক্ষেপে এটি সম্ভব হলে প্যাকেজগুলি আপগ্রেড করবে। তবে এটি পুনরায় ইনস্টল করবে না। আপনি যদি আদেশগুলি ব্যবহার করে এটি করতে চান তবে আপনি npm uninstall <package_name>নির্দিষ্ট প্যাকেজ আনইনস্টল করতে বা npm uninstallসমস্ত প্যাকেজ আনইনস্টল করতে কার্যকর করতে পারেন ।
হিমাংশু

1
আমি কেবল npm uninstallএকটি প্যাকেজ নির্দিষ্ট না করেই চেষ্টা করেছি তবে এটি ত্রুটি ছুঁড়েছে।
trusktr

আপনি যে ফোল্ডার ডিরেক্টরিটিতে এটি চালিত করেছেন সেখানে প্যাকেজ.জসন আছে? আপনি যদি বিশ্বব্যাপী প্যাকেজ আনইনস্টল করেন তবে আপনাকে -g
হিমাংশু

1
আপনার দেওয়া লিঙ্কটি মারা গেছে, আপনি কি দয়া করে একটি নতুন সরবরাহ করতে পারেন? (আমি পাওয়া এই কিন্তু আমি নিশ্চিত এটা পরিবর্তন করতে গ্রহণযোগ্য নই)
Motti

62

সমস্ত নোড মডিউলগুলির সম্পূর্ণ পুনরায় ইনস্টল করার জন্য আমি নীচের কমান্ডটি ব্যবহার করি (নিশ্চিত হন আপনি প্রকল্পের ফোল্ডারে রয়েছেন)।

rm -rf node_modules && npm install

কোনও ক্যাশেড নির্ভরতা নেই তা নিশ্চিত করার জন্য আপনি ফোল্ডারটি npm cache cleanসরানোর পরেও চালাতে পারেন node_modules


47

npmসিএলআই কমান্ড আপডেট করেছে installএবং --forceপতাকা যুক্ত করেছে ।

npm install --force

--force(অথবা -f) যুক্তি বাধ্য করা হবে npmস্থানীয় কপি-ডিস্কে বর্তমানে উপস্থিত এমনকি যদি দূরবর্তী সম্পদ আনতে।

দেখা npm install


দুর্দান্ত, 'গিট + গিথুব ডটকম ...' নিয়েও কাজ করুন !
টনি বন্টার

12

আপনি এনপিএম-এ পাওয়া পুনরায় ইনস্টল মডিউলটি ব্যবহার করতে পারেন ।

এটি ইনস্টল করার পরে, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

reinstall

ম্যানুয়ালি node_modulesফোল্ডারটি সরিয়ে ফেলা এবং তৈরি করার সাথে একমাত্র পার্থক্য npm installহ'ল এই আদেশটি স্বয়ংক্রিয়ভাবে এনপিএমের ক্যাশে সাফ করে। সুতরাং, আপনি একটি কমান্ডে তিনটি পদক্ষেপ পেতে পারেন।

আপডেট: npx reinstall বিশ্বব্যাপী প্যাকেজ ইনস্টল না করে এই কমান্ডটি চালানোর একটি উপায় (কেবলমাত্র এনএমপি 5 + এর জন্য)


1
@ g00glen00b আমি সম্পাদনা করেছি যাতে এটি এখন হাইপারলিংক ছাড়াই দরকারী তথ্য অন্তর্ভুক্ত করে
রব

@ g00glen00b এটি পুরোপুরি ঠিক আছে; এটি মুছে ফেলার জন্য এটি প্রার্থী করে না। দয়া করে এই পোস্টটি দেখুন - বিশেষত এটি একটি লিঙ্কের সাথে সংক্ষিপ্ত উত্তরগুলিকে সম্বোধন করে, শর্ত থাকে যে হাইপারলিংক অপসারণ করার সময় কিছু দরকারী তথ্য রয়েছে (যেমন, গ্রন্থাগারের নাম)
রব


1

উইন্ডোজ জন্য আপনি ব্যবহার করতে পারেন

(if exist node_modules rmdir node_modules /q /s) && npm install

যা node_modulesডিরেক্টরি মুছে ফেলে এবং npm installতখন সম্পাদন করে । ইনস্টলের আগে অপসারণ নিশ্চিত করে যে সমস্ত প্যাকেজ পুনরায় ইনস্টল করা হয়েছে।


0

নোড মডিউলগুলি পুনরায় ইনস্টল করতে এবং সেগুলি আপডেট করতে এই পদক্ষেপটি অনুসরণ করুন

নোড_মডিউলগুলি ফোল্ডার না থাকলেও কাজ করে। এখন নিম্নলিখিত কমান্ডটি সিঙ্ক্রোনালি কার্যকর করুন। আপনি "এনপিএম আপডেট "ও ব্যবহার করতে পারেন তবে আমি মনে করি এটি পছন্দ করা উপায়

npm outdated // not necessary to run this command, but this will show outdated dependencies

npm install -g npm-check-updates // to install the "ncu" package

ncu -u --packageFile=package.json // to update dependencies version in package.json...don't run this command if you don't need to update the version

npm install: will install dependencies in your package.json file.

আপনি যদি আপনার প্যাকেজ.জসন ফাইলে আপনার নির্ভরতার সংস্করণটি ঠিক করেন তবে এই পদক্ষেপগুলি অনুসরণ করার দরকার নেই কেবল চালানো

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