আমি কীভাবে এনপিএম অনিয়ম পিয়ার ডিপেন্ডেন্সির সতর্কতা ঠিক করব?


223

আমি নোড 5.6.0 এবং এনপিএম 3.6.0 সহ উইন্ডোজ 10 এ আছি। আমি আমার ওয়ার্কিং ফোল্ডারে কৌণিক-উপাদান এবং এমডিআই ইনস্টল করার চেষ্টা করছি। এনপিএম এর সাথে কৌণিক-উপাদান এমডিআই ত্রুটিগুলি ইনস্টল করুন :

+-- angular@1.5.0

+-- UNMET PEER DEPENDENCY angular-animate@^1.5.0

+-- UNMET PEER DEPENDENCY angular-aria@^1.5.0

+-- angular-material@1.0.6

+-- UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- mdi@1.4.57

npm WARN enoent ENOENT: no such file or directory, open
'C:\Users\xxxxx\Desktop\ngClassifieds\package.json' 

npm WARN angular-material@1.0.6 requires a peer of
angular-animate@^1.5.0 but none was installed. 

npm WARN angular-material@1.0.6 requires a peer of angular-aria@^1.5.0
but none was installed. 

npm WARN angular-material@1.0.6 requires a peer of
angular-messages@^1.5.0 but none was installed.

AngularJS ম্যাটেরিয়াল এবং এমডিআই ইনস্টল করার জন্য আমি কীভাবে এটি সমাধান করব?


এই ধরণের ত্রুটি কোনও সমস্যা তৈরি করে?
ব্ল্যাকহক

রেজার জন্য নয়, তাই দেরি হয়ে গেছে, তবে অন্য কারও জন্য ... এটি চেষ্টা করুন: এনপিএম দেখুন কৌণিক-উপাদানের পিয়ার নির্ভরতা
পিটার 70

1
সাধারণভাবে, আপনি সর্বদা একটি আনমেট নির্ভরতা সমাধান করতে চাইবেন না। উদাহরণস্বরূপ, এটি অন্য-প্যাকেজ@ other1.5.0 এর উপর কিছু-প্যাকেজের নির্ভরতা রয়েছে এবং আপনি অন্যান্য-প্যাকেজ @ ২.০.০ ইনস্টল করেছেন, আপনাকে সংস্করণটি ব্যাক করতে হবে না। আপনার যদি নতুন সংস্করণে আসলে সমস্যা হয় তবে পরীক্ষা করা ভাল।
জন পানকউইচজ

উত্তর:


203

এনপিএম আর পিয়ার নির্ভরতা আর ইনস্টল করে না তাই আপনাকে সেগুলি ম্যানুয়ালি ইনস্টল করতে হবে, npm installপ্রয়োজনীয় ডিপগুলিতে কেবল একটি করুন এবং তারপরে আবার মূলটি ইনস্টল করার চেষ্টা করুন।


মন্তব্যে জবাব দিন:

এই বার্তায় এটি ঠিক আছে, এটি বলে যে কোনটি অনুপস্থিত যা আপনি মিস করছেন

UNMET PEER DEPENDENCY angular-animate@^1.5.0 +-- 
UNMET PEER DEPENDENCY angular-aria@^1.5.0 +-- angular-material@1.0.6 +
UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- mdi@1.4.57` 

সুতরাং আপনার প্রয়োজন npm install angular angular-animate angular-aria angular-material angular-messages mdi


কৌণিক-উপাদানগুলির জন্য ডিপগুলি খুঁজে পাওয়ার কোনও উপায় আছে যাতে আমি ইনস্টল করতে পারি?
রেজা

2
আপনার package.jsonকি এই নতুন নির্ভরতা যুক্ত করতে হবে ?
0xcaff

2
@caffinatedmonkey যে হবে আদর্শ
Datsik

9
@ ক্যাফিনেটমোনকি আপনি যদি --saveস্যুইচ এনএমপি নির্দিষ্ট করে থাকেন তবে আপনার জন্য আপনার প্যাকেজটি আপডেট করবে (বা --save-devপ্যাকেজটি যদি ডেভেলপমেন্ট নির্ভরতা হয়)
ম্যাকগুইয়ারভি 10

33
এটি আপনার জন্য সমস্ত নির্ভরতা পরিচালনা করার জন্য এনপিএমের পুরো পয়েন্টটি নয়? যদি আমি একটি এনপিএম ইনস্টল করি, তবে হাতে গোনা আমার রচয়িতা.জসন ফাইলটিতে আমাকে নিজেই যুক্ত করতে হবে এমন একগুচ্ছ আনম্যাট নির্ভরতাগুলির একটি তালিকা পান, আমি সেই সময়ে এনপিএম থেকে কী মান পাব?
মরিচ 20

66

UNMET PEER DEPENDENCYpackage.jsonফাইলটিতে উল্লিখিত এক বা একাধিক মডিউলের নির্ভরতা পূরণ না হলে ত্রুটি নিক্ষেপ করা হয়। সতর্কতা সাবধানতার সাথে পরীক্ষা করে দেখুন এবং package.jsonনির্ভরতার সঠিক সংস্করণ সহ ফাইলটি আপডেট করুন ।

তারপরে দৌড়াও

rm -rf node_modules/
npm cache clean
npm install

এটি প্রয়োজনীয় সমস্ত নির্ভরতা সঠিকভাবে ইনস্টল করবে।


3
পিয়ার নির্ভরতা কী
অডিও ওয়েব ডেভেলপার 10:57

আপনি যখন কোনও প্যাকেজ ইনস্টল করেন তখন এটি অন্যান্য প্যাকেজের নির্দিষ্ট সংস্করণগুলির উপর নির্ভর করে। আপনি যদি প্যাকেজের সঠিক নির্ভরশীল সংস্করণ সরবরাহ না করেন তবে "পিয়ার নির্ভরতা" টি পূরণ হয়নি। সুতরাং এটি সমাধানের জন্য আপনার নির্ভরশীল প্যাকেজগুলির প্রত্যাশিত সংস্করণ আপডেট করতে হবে।
জয়কিশ

4
এটি আমার পক্ষে কাজ করেনি। পিয়ারের প্রয়োজনীয়তার বিষয়ে আমি এখনও একটি সতর্কতা পেয়েছি।
অ্যাডাম জেরনার

1
গ্রহণযোগ্য সমাধানের চেয়ে অনেক ক্লিনার! কোডের এই সেটটি তাদের কাছে থাকা নির্দিষ্ট সমস্যার পরিবর্তে অপের সমস্যার প্রতিটি সম্ভাব্য কেস পরিচালনা করে।
হোল্ডঅফহাঙ্গার

এনপিএম ক্যাশে ক্লিন কমান্ড ব্যবহার করে ত্রুটিটি পাওয়া যায়: এনপিএম @ 5 হিসাবে, এনপিএম ক্যাশে দুর্নীতির সমস্যা থেকে স্ব-নিরাময় করে এবং ক্যাশে থেকে প্রাপ্ত ডেটা বৈধ হওয়ার নিশ্চয়তা দেয়। আপনি যদি সবকিছু নিশ্চিত করতে চান তবে তার পরিবর্তে 'এনপিএম ক্যাশে যাচাইকরণ' ব্যবহার করুন। এনপিএম ইআরআর! আপনি যদি নিশ্চিত হন যে আপনি পুরো ক্যাশেটি মুছতে চান তবে এই কমান্ডটি - ফোর্স দিয়ে পুনরায় চালু করুন।
কোডমনকি

30

আমার ক্ষেত্রে সমস্ত নির্ভরতা ইতিমধ্যে ছিল। দয়া করে এনপিএমটিকে সে ক্ষেত্রে আপডেট করুন কারণ এটি ক্র্যাশ হয়ে গেছে। এটি আমার সমস্যার সমাধান করেছে।

npm install -g npm

আমার জন্য কাজ করেছেন। UNMET PEER DEPENDENCY typescriptইনস্টল করার চেষ্টা করার সময় আমি ত্রুটিটি পেয়েছি tslint। একবার এনপিএম আপডেট করার পরে প্রথমে টাইপস্ক্রিপ্ট ইনস্টল করতে হবে এবং তারপরে tslint ইনস্টল করতে হবে।
রবিমল্যা

কোনও কারণে, এটির সমস্ত নিজস্ব নির্ভরতা আপডেট না হওয়া পর্যন্ত আমাকে এটিকে একাধিকবার চালাতে হয়েছিল।
কোডার

এটি আমার জন্য এনপিএম ভেঙেছিল এবং এর ফলে অনেকগুলি ত্রুটি হয়েছে।
জ্যাক

14

npm-install-peers আমার জন্য কাজ করেছিল।

npm install -g npm-install-peers

1
আমার পক্ষে কাজ করেনি: "এই প্যাকেজের কোনও পিয়ার-নির্ভরতা নেই বলে মনে হচ্ছে"। তবে, আমার কাছে "এনপিএম ইআরআর! পিয়ার ডিপ অনুপস্থিত: @ কৌনিক / সাধারণ @ ^ 5.0.0 || ag 6.0.0, @ অ্যাজিএম / কোর @ 1.0.0-বিটা.3 দ্বারা প্রয়োজনীয়"
ক্যাম্পোস

2
এই প্যাকেজটি কেবলমাত্র বর্তমান প্যাকেজের সরাসরি পিয়ার ডিপগুলি ইনস্টল করে এবং প্যাকেজের ডিপগুলির (পিয়ার অব শিশুদের) পরিচালনা করে না pe
অ্যালেক্স স্ক্রিপনিক

7

এই ত্রুটির সম্ভাব্য কারণগুলির মধ্যে একটি হ'ল আপনি নিজের প্যাকেজ.জসনে পুরানো সংস্করণটি সংজ্ঞায়িত করেছেন। এই সমস্যাটি সমাধান করার জন্য, প্যাকেজ.জসনে সংস্করণগুলি পরিবর্তন করুন those এনপিএমের সাথে অভিযোগ করে to

একবার হয়ে গেলে এনপিএম ইনস্টল করে ভয়েলা চালান !!


6

এই উত্তরটি সমস্ত ক্ষেত্রে প্রয়োগ করে না, তবে আপনি কেবল টাইপ করে ত্রুটিটি সমাধান করতে না পারলে npm install এই পদক্ষেপগুলি সহায়তা করতে পারে।

আসুন বলুন যে আপনি এই ত্রুটি পেয়েছেন।

UNMET PEER DEPENDENCY packageA@4.2.0

npm WARN packageB@3.3.0 requires a peer of packageA@^3.1.0 but none was installed.

এর অর্থ হল আপনি প্যাকেজএর ৪.২.০ সংস্করণ ইনস্টল করেছেন, তবে প্যাকেজবি_৩.৩.০ এর প্যাকেজএর সংস্করণ ৩.২০১০ এর দরকার আছে। ( ব্যাখ্যা of )

সুতরাং আপনি এই ত্রুটিটি প্যাকেজএকে 3.xx এ ডাউনগ্রেড করে সমাধান করতে পারেন, তবে সাধারণত আপনি প্যাকেজটি ডাউনগ্রেড করতে চান না।
সুসংবাদটি হ'ল কিছু ক্ষেত্রে, প্যাকেজবি কেবল প্যাকেজএ রক্ষা করছে না এবং প্যাকেজবি'র রক্ষণাবেক্ষণকারী প্যাকেজএর পিয়ার নির্ভরতা বাড়িয়ে তুলতে খুব চেষ্টা করছে xx
ক্ষেত্রে, আপনি পরীক্ষা করতে পারবেন প্যাকেজবিটির কোনও উচ্চতর সংস্করণ আছে কিনা এনপিএম বা গিথুবে প্যাকেজএর ৪.২.০ সংস্করণ প্রয়োজন।

উদাহরণস্বরূপ, পৃষ্ঠা প্রকাশ করতে যানএখানে চিত্র বর্ণনা লিখুন

প্রায়শই আপনি এর মতো নির্ভরতা সম্পর্কে ব্রেকিং পরিবর্তন খুঁজে পেতে পারেন।

packageB v4.0.0-beta.0

BREAKING CHANGE
package: requires packageA >= v4.0.0

আপনি যদি মুক্তির পৃষ্ঠায় কিছু না পান তবে ইস্যু পৃষ্ঠাতে যান এবং কীওয়ার্ড দ্বারা ইস্যু অনুসন্ধান করুন peer। আপনি দরকারী তথ্য পেতে পারেন।

এখানে চিত্র বর্ণনা লিখুন

এই মুহুর্তে, আপনার কাছে দুটি বিকল্প রয়েছে।

1) আপনার যে সংস্করণটি চান সেটি আপগ্রেড করুন
2) আপাতত ত্রুটি ত্যাগ করুন, স্থিতিশীল সংস্করণ প্রকাশ না হওয়া পর্যন্ত অপেক্ষা করুন।

আপনি যদি বিকল্প 1 চয়ন করেন:
অনেক ক্ষেত্রে সংস্করণটিতে latest ট্যাগটি স্থির থাকে না। সুতরাং আপনাকে এই আপডেটে কী পরিবর্তন হয়েছে তা পরীক্ষা করে দেখতে হবে এবং কিছুতেই বিরতি হবে না তা নিশ্চিত করতে হবে।

যদি আপনি অপশন 2 চয়ন করেন:
3 থেকে 4 সংস্করণ থেকে প্যাকেজএ আপগ্রেড করা যদি তুচ্ছ হয়, বা প্যাকেজ বি এর রক্ষণাবেক্ষণকারীরা এখনও পাকেজএর 4 সংস্করণ পরীক্ষা না করে তবে বলেন যে এটি কোনও সমস্যা হওয়া উচিত নয়, আপনি ত্রুটিটি রেখে যেতে বিবেচনা করতে পারেন।

উভয় ক্ষেত্রেই, এটি কোনও কিছু না ভাঙলে পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা ভাল।

সবশেষে, আপনি যদি ম্যানুয়ালি কেন এমন কাজ করতে চান তা যদি আপনি জানতে চান তবে এই লিঙ্কটি ভালভাবে ব্যাখ্যা করেছে।


3

ঠিক আছে তাই আমি এটি বের করার চেষ্টা করে দীর্ঘ সময় ধরে সংগ্রাম করেছি। এখানে পারমাণবিক বিকল্পটি রয়েছে, আপনি যখন অন্য সমস্ত উপায়ে ক্লান্ত হয়ে পড়েছেন তখন ...

  • আপনার পিসিতে একটি নতুন ফোল্ডার তৈরি করুন।
  • কৌণিকতার একদম নতুন ইনস্টলেশন ডাউনলোড করুন - আমি এই গাইডটি ব্যবহার করেছি: https://coursetro.com/posts/code/55/How-to-Install-an-Angular-4- অ্যাপ্লিকেশন
  • এটি চালান, এটি কাজ করে তা নিশ্চিত করুন
  • তারপরে আপনার প্যাকেজ.জসন ফাইল থেকে একের পর এক নির্ভরশীলতা ইনস্টল করুন
  • প্রতিটি ইনস্টল হওয়ার পরে এটি চালান

আপনি যখন কাজটি শেষ করেন এবং এটি এখনও কার্যকর হয় তখন আপনার প্রকৃত কোডটি এই নতুন প্রকল্পে আমদানি করুন। কৌণিক কারণগুলির নতুন সংস্করণে কোনও সংকলন ত্রুটিগুলি ঠিক করুন।

আমার জন্য এটি কী করেছে .. 1 ঘন্টা পুনর্নির্মাণের বনাম 6 ঘন্টা ডাব্লুটিএফএফটি বের করার চেষ্টা করা ভুল ছিল .. যদি আমি এইভাবে এটি শুরু করতাম ..


ওপি অ্যাঙ্গুলারজেএস
এড্রিক

3

প্রদত্ত উত্তর সর্বদা কাজ করবে না। এটি যদি আপনার সমস্যার সমাধান না করে। আপনিও সঠিক চিহ্নটি ব্যবহার করছেন তা নিশ্চিত করুন package.json। এই মাথাব্যথা ঠিক করার জন্য এটি খুব গুরুত্বপূর্ণ। উদাহরণ স্বরূপ:

warning " > @angular/compiler-cli@5.2.7" has incorrect peer dependency "typescript@>=2.4.2 <2.7".
warning " > tsickle@0.25.6" has incorrect peer dependency "typescript@>=2.4.2 <2.6".

সুতরাং আমার টাইপ স্ক্রিপ্টটি ঠিক ২.৪.২ থেকে ২.6 এর মধ্যে হওয়া দরকার?

তাই আমি ব্যবহার থেকে আমার টাইপ করা বিষয় গ্রন্থাগার পরিবর্তিত "typescript": "^2.7"ব্যবহার করে "typescript": "^2.5"। সঠিক মনে হচ্ছে?

ভুল।

^মানে আপনি npm ব্যবহার করে ঠিক আছ "typescript": "2.5"বা "2.6"বা "2.7"ইত্যাদি ...

যদি আপনি এটি জানতে ^এবং ~তার অর্থ কীটি জানতে চান: প্যাকেজ.জসনে টিলড (~) এবং ক্যারেট (^) এর মধ্যে পার্থক্য কী?

এছাড়াও আপনাকে প্যাকেজ উপস্থিত রয়েছে তাও নিশ্চিত করতে হবে। "typescript": "2.5.9"প্যাকেজ নম্বরগুলি খুঁজে পেতে পারে না । সত্যই নিরাপদ থাকতে কেবল তাদের ~বা এর ^অর্থ কী পড়তে চান তা যদি সরিয়ে ফেলুন তবে ।


এই ব্যাখ্যার জন্য আপনাকে ধন্যবাদ। আমি যদি দুটি গ্রন্থাগার ব্যবহার করি তবে প্রথম (উদাহরণস্বরূপ library-one) উদাহরণস্বরূপ একটি পিয়ার package@<2.6এবং অন্যটি ( library-two) এর সমকক্ষ ব্যবহার করেন package@>2.7? তারপরে আমি কি packageআমার কোডবেসে দুটি সংস্করণ নিয়ে কাজ করব? আমি কীভাবে জানব যে আমি যখন ব্যবহার library-oneকরি package@2.5.9তখন আমি যখন এটি ব্যবহার library-twoকরি তখন আমাকে এটি ব্যবহার করতে হয় package@2.7.1?
টোনিক্স

2

আজ কৌনিক 2 আরসি 7 উপলভ্য , এবং আমি rxjs@5.0.0-beta.12ইউনেট পিয়ার ডেপেন্ডেন্সির সাথে একই রকম সমস্যা ছিল ।

আপনি যদি আমার মতো, কেবল পরিবর্তিত @angular/...rc.6হন @angular/...rc.7- এটি যথেষ্ট নয়। কারণ, উদাহরণস্বরূপ, @angular/routerএর কোনও rc.6সংস্করণ নেই।

এই ক্ষেত্রে, ভাল পর্যালোচনা package.json মধ্যে দ্রুত শুরু


ওপি অ্যাঙ্গুলারজেএস
এড্রিক

-6

আপনি বিশ্বব্যাপী ইউএনএমইটি নির্ভরতা ইনস্টল করে সমাধান করতে পারেন।

উদাহরণস্বরূপ: এনপিএম ইনস্টল -জি @ কৌনিক / সাধারণ @ 4.4.6

একে একে ইনস্টল করুন। এটা আমার জন্য কাজ করেছে।


চিন্তাভাবনা কি এটাই কি সেরা সমাধান? প্রকল্প নির্ভরতার জন্য প্রকৃত "সমস্যা" উপেক্ষা করার জন্য বিশ্বব্যাপী ইনস্টল করা হচ্ছে?
qx3

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