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


274

উদাহরণস্বরূপ, যখন আমি Angular2 ইনস্টল করি:

npm install --save angular2
temp@1.0.0 /Users/doug/Projects/dougludlow/temp
├── angular2@2.0.0-beta.3 
├── UNMET PEER DEPENDENCY es6-promise@^3.0.2
├── UNMET PEER DEPENDENCY es6-shim@^0.33.3
├── UNMET PEER DEPENDENCY reflect-metadata@0.1.2
├── UNMET PEER DEPENDENCY rxjs@5.0.0-beta.0
└── UNMET PEER DEPENDENCY zone.js@0.5.11

npm WARN angular2@2.0.0-beta.3 requires a peer of es6-promise@^3.0.2 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of es6-shim@^0.33.3 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of reflect-metadata@0.1.2 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of rxjs@5.0.0-beta.0 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of zone.js@0.5.11 but none was installed.

এমন কোনও ম্যাজিক পতাকা রয়েছে যা আমি এনপিএম এ যেতে পারি যা পিয়ারের নির্ভরতাও ইনস্টল করবে? আমি একটিও সন্ধান করতে পারি না ... পিয়ারের নির্ভরতা ম্যানুয়ালি অনুলিপি করে পেস্ট করা এবং আমার কাছে সঠিক সংস্করণ রয়েছে কিনা তা নিশ্চিত করা ক্লান্তিজনক।

অন্য কথায়, আমি বরং করতে হবে না:

npm install --save angular2@2.0.0-beta.3 es6-promise@^3.0.2 es6-shim@^0.33.3 reflect-metadata@0.1.2 rxjs@5.0.0-beta.0 zone.js@0.5.11

এর চেয়ে ভাল উপায় কী?


আপনি কি ইতিমধ্যে সমস্যার সমাধান করেছেন? আমার একই সমস্যাটি কৌনিক 2 ইনস্টল করা আছে। এমনকি-জি পতাকা সহ পুনরায় চেষ্টা করার পরে এনজিপি-জি অ্যাঙ্গুলার 2-এর সাথে ম্যানুয়ালি এস 6-প্রতিশ্রুতি ইনস্টল করার পরেও আমি একই ত্রুটি / সতর্কতা 5 টি আনম্যাট পিয়ার নির্ভরতা es6- প্রতিশ্রুতি, এস 6-শিম, প্রতিবিম্ব-মেটাডেটা, আরএক্সজেস এবং জোন.জেস পেয়েছি do
ntakr

4
@ এনটাকর - হ্যাঁ, সহকর্মীদের নির্ভরতা হ'ল সঠিক সংস্করণগুলি ইনস্টল করা সতর্কতা থেকে মুক্তি পেয়েছে। আপনি এগুলি বিশ্বব্যাপী ইনস্টল করতে চান না (-g পতাকা সহ)। আপনি এগুলি স্থানীয়ভাবে ইনস্টল করতে চান (-এস পতাকা), তবে আমি যেমন বলেছি, সেগুলি হুবহু সংস্করণ হওয়া দরকার (যেমন: angular2@2.0.0-beta.3প্রয়োজন es6-promise@^3.0.2)। তবে, আমি জানতে চাই যে কোনও আদেশ / পতাকা রয়েছে যা স্বয়ংক্রিয়ভাবে পিয়ারের নির্ভরতা ইনস্টল করে।
ডগলাস লুডলো

@ ডগলাসলড্লো আপনি এনপিএম এর কোন সংস্করণ ব্যবহার করছেন?
পিটব

@peteb: npm -v=>3.5.3
ডগলাস লুডলো

আমার একই সমস্যা আছে, এবং আমি সমাধানের ফলন
পাইনি

উত্তর:


178

পিয়ার নির্ভরতার স্বয়ংক্রিয় ইনস্টলটি স্পষ্টভাবে এনপিএম 3 দিয়ে সরানো হয়েছিল, কারণ এটি সমাধানের চেষ্টা করার চেয়ে আরও সমস্যার সৃষ্টি করে। আপনি এখানে এটি সম্পর্কে উদাহরণস্বরূপ পড়তে পারেন:

সুতরাং না, প্রদত্ত কারণে, আপনি এগুলি স্বয়ংক্রিয়ভাবে এনপিএম 3 ওপরের দিকে ইনস্টল করতে পারবেন না।


4
হ্যাঁ, আমি এটি দেখেছি: github.com/npm/npm/issues/6565 ... আমি কেবল আশা করছিলাম যে আপনি এখনও একটি পতাকা বা কিছু দিয়ে with চ্ছিকভাবে এগুলি ইনস্টল করতে পারেন। অনুমান করুন আমাকে একটি সমস্যা বা কিছু খুলতে হবে।
ডগলাস লুডলো

155
আপনি এই ধরণের সমস্যার সাথে কীভাবে মোকাবিলা করবেন? আমি এনপিএম বিশেষজ্ঞ নই তাই আমি যখন "x এর y একটি পিয়ারের দরকার পড়ে তবে কিছুই পাওয়া যায় না", তখন আমি নিজেকে জিজ্ঞাসা করি, "কোন পিয়ার?" এবং "আমি কীভাবে কেবল সবকিছু পুনরায় কাজ করতে পারি?" কোন প্রক্রিয়া আছে? আপনি কী অনুপস্থিত তা খুঁজে না পাওয়া পর্যন্ত আপনি x এবং y এর কোডটি খনন করেন? আপনি কী খুঁজে পেয়েছেন তা খুঁজে পাওয়ার পরে আপনি কী করবেন? ধন্যবাদ!
ড্যান ক্যানক্রো

81
আহ, এটি একটি ইংরেজী সমস্যা: "x এর y এর পিয়ার দরকার তবে কোনওটি ইনস্টল করা হয়নি" x "পিয়ারের দরকার হয়, y, তবে y ইনস্টল করা হয়নি"। আমি এটিকে বুঝতে পেরেছিলাম যে "এক্স এর জন্য y এর অন্যতম সমবয়সী প্রয়োজন তবে সেই পিয়ারটি ইনস্টল করা হয়নি এবং আমরা আপনাকে কোন y এর সমকক্ষ প্রয়োজন তা বলছি না"।
ড্যান ক্যানক্রো

1
এছাড়াও আমি তালিকাভুক্ত পিয়ার নির্ভরতাগুলি যদি ম্যানুয়ালি ইনস্টল করি তবে আমি সেগুলি extraneousপ্যাকেজ হিসাবে
পেয়েছি

3
"বহিরাগত" রয়েছে কারণ আপনার সেগুলি আপনার প্যাকেজ নির্ভরতা যুক্ত করতে হবে।
ডিনোবফ

37

আমি প্যাকেজটি লিখে এটি সমাধান করেছি j

npm WARN angular2@2.0.0-beta.3 requires a peer of es6-shim@^0.33.3 but none was installed.

প্যাকেজ.জসন: "এস 6-শিম": "^ 0.33.3",

npm WARN angular2@2.0.0-beta.3 requires a peer of reflect-metadata@0.1.2

প্যাকেজ.জসন: "প্রতিবিম্ব-মেটাডেটা": "0.1.2",

Delete node_modules directory

npm install

15
সম্ভবত একটি npm cache clean, npm installনোড_মডিউলগুলি মুছার চেয়ে ভাল হতে পারে? আমি সর্বদা নোড_মডিউলগুলি মুছে ফেলা থেকে বিরত থাকি, আমি ডিরেক্টরিটি ফুরিয়ে যাওয়ার চেয়ে সমস্যাটি কী তা খুঁজে পেতে চাই।
ব্রুনো

আমি মনে করি না যে এটির কাজটি কেবল এটির পক্ষে করা লোকের পক্ষে এটি খুব নিরাপদ ধারণা। তাদের দ্বন্দ্ব আরও খারাপ করার উচ্চতর পরিবর্তন রয়েছে: কোড রয়েছে যা এর লাইব্রেরির সাথে মেলে না।
জুমলার

এনএমপি ক্লিন ক্যাশে চালানোর চেষ্টা করার সময় নিম্নলিখিত ত্রুটিটি বার্তা পেয়েছে: এনপিএম ইআরআর! এনপিএম @ 5 হিসাবে, এনপিএম ক্যাশে দুর্নীতির সমস্যা থেকে স্ব-নিরাময় করে এবং ক্যাশে থেকে নেওয়া ডেটা বৈধ হওয়ার গ্যারান্টিযুক্ত। আপনি যদি সবকিছু নিশ্চিত করতে চান তবে তার পরিবর্তে 'এনপিএম ক্যাশে যাচাইকরণ' ব্যবহার করুন। অন্যদিকে, আপনি যদি ইনস্টলারটির সাথে কোনও সমস্যা ডিবাগ করেন তবে আপনি npm install --cache /tmp/empty-cacheপ্রকৃতটির সাথে তাল মিলিয়ে অস্থায়ী ক্যাশে ব্যবহার করতে পারেন। এনপিএম ইআরআর! এনপিএম ইআরআর! আপনি যদি নিশ্চিত হন যে আপনি পুরো ক্যাশেটি মুছতে চান তবে এই কমান্ডটি - ফোর্স দিয়ে পুনরায় চালু করুন।
তরুন

22

এই দৃশ্যে সহায়ক কোড এবং কিছু অন্যান্য ...

├── আনমেট পিয়ার ডিপেন্ডেন্সী @ কৌনিক / সাধারণ @ 4.0.2

├── আনমেট পিয়ার ডিপেন্ডেন্সী @ কৌনিক / সংকলক @ 4.0.2

├── আনমেট পিয়ার ডিপেন্ডেন্সী @ কৌনিক / সংকলক-ক্লিপ @ 4.0.2

├── আনমেট পিয়ার ডিপেন্ডেন্সী @ কৌনিক / কোর @ 4.0.2

├── আনমেট পিয়ার ডিপেন্ডেন্সী @ কৌনিক / ফর্মগুলি @ 4.0.2

├── আনমেট পিয়ার ডিপেন্ডেন্সী @ কৌনিক / http @ 4.0.2

├── আনমেট পিয়ার ডিপেন্ডেন্সী @ কৌণিক / প্ল্যাটফর্ম-ব্রাউজার @ ৪.০.২

├── আনমেট পিয়ার ডিপেন্ডেন্সী @ কৌণিক / প্ল্যাটফর্ম-ব্রাউজার-ডায়নামিক @ 4.0.2>>

  1. আপনার কোড সম্পাদকে আপনার ত্রুটিটি অনুলিপি করুন এবং আটকান
  2. আপনার কার্সার দিয়ে একটি অযাচিত অংশ হাইলাইট করুন । এক্ষেত্রে 'M আনমেট পিয়ার ডিপেন্ডেন্সী'
  3. কমান্ড + ডি একগুচ্ছ বার টিপুন ।
  4. প্রেস দুইবার মুছতে । (আপনি যদি দুর্ঘটনাক্রমে '├── UNMET PEER DEPendENCY' হাইলাইট করেন তবে স্পেস টিপুন))
  5. একবার টিপুন। 'এনপিএম ইনস্টল' যুক্ত করুন
  6. একবার নিচে টিপুন। '- সেভ যোগ করুন
  7. আপনার জিনিসগুলি ক্লায়মে ফিরে অনুলিপি করুন এবং চালান

এনপিএম ইনস্টল করুন @ কৌনিক / সাধারণ @ 4.0.2 @ কৌণিক / সংকলক @ 4.0.2 @ কৌণিক / সংকলক-ক্লিপ @ 4.0.2 @ কৌনিক / কোর @ 4.0.2 @ কৌনিক / ফর্ম @ 4.0.2 @ কৌনিক / http @ 4.0 .2 @ কৌণিক / প্ল্যাটফর্ম-ব্রাউজার @ ৪.০.২ @ কৌণিক / প্ল্যাটফর্ম-ব্রাউজার-গতিশীল @ ৪.০.২ - সংরক্ষণ করুন


8
--saveস্পষ্টতই বিকল্পটি আর এনপিএম 5.0.0 হিসাবে প্রয়োজন নেই: stackoverflow.com/a/19578808/12484
জন স্নাইডার

12

প্রকল্পটি npm-install-peersসমবয়সীদের সনাক্ত করে তাদের ইনস্টল করবে।

এর হিসাবে v1.0.1এটা ফিরে লেখা সমর্থন করে না package.jsonস্বয়ংক্রিয়ভাবে যা মূলত আমাদের প্রয়োজন সমাধান করতেন এখানে।

ফ্লাইটে ইস্যু করতে দয়া করে আপনার সমর্থন যুক্ত করুন: https://github.com/spatie/npm-install-peers/issues/4


36
দৌড়ানোর সময়, এটি আমাকে এই বার্তাটি দিয়েছে। This package doesn't seem to have any peerDependencies
থাবাং

2
আমি একই বার্তা আছে।
থিবল্ট বার্শিয়ার

7
আমি এটি বুঝতে npm-install-peersপেরে peerDependenciesনিবন্ধভুক্ত ইনস্টল করা হবে package.json। এটি peerDependenciesনির্ভরতা যেমন ইনস্টল করবে না angular2
26:48

হ্যাঁ, দ্বিতীয় @ ড্রিজড মন্তব্য: npm-install-peersকেবলমাত্র "peerDependencies"আপনার প্রকল্পের প্যাকেজ.জসনে তালিকাভুক্ত ইনস্টল করার উদ্দেশ্যে for আপনি প্রত্যক্ষ পিয়ার নির্ভরতা নয়, আপনার "peerDependencies"প্রতিটি node_modules/<package>/package.jsonফাইলের মধ্যে তালিকাভুক্ত ইনস্টল করার চেষ্টা করছেন ।
উইল ফারলে 20

5

আমি যখন এই এনপিএম প্যাকেজটি তৈরি করছিলাম তখন আমি এই ত্রুটিগুলি অনুভব করেছি peerDependencies। আমাকে নিশ্চিত করতে peerDependenciesহয়েছিল যে যে কোনও একটিও তালিকাভুক্ত ছিল devDependencies। প্রকল্পটি স্বয়ংক্রিয়ভাবে বিশ্বব্যাপী ইনস্টল করা প্যাকেজগুলি ব্যবহার করবে না।


এটি একটি ঝরঝরে সমাধান, কেবল 'নির্ভরতা' যুক্ত করা কিছুটা আনাড়ি!
আশোট

0

সুতা ইনস্টল করুন তারপরে একটি চালান

সুতা গ্লোবাল ইনস্টল-পিয়ারডেপস যোগ করুন


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