এনপিএম উইন্ডোজ বিশ্বব্যাপী এনপিএম ইআরআর ফলাফল ইনস্টল! বিদেশী


121

আমি গ্রান্ট এবং এনএমপি তে নতুন। তাই আমি ' http://tech.pro/tutorial/1190/package-managers-an-intrrodctory-guide-for-the-uninitiated-front-end-developer#front_end_developers ' সাইটে কিছু "কুকবুক-উদাহরণ" চেষ্টা করছি । আপনার এখনই সেখানে দেখার দরকার নেই, তবে আমি ভেবেছিলাম সাইটটি ভাগ করে নেওয়া ভাল। এখন পর্যন্ত এত ভাল, ততক্ষণ পর্যন্ত এটি বিশ্বব্যাপী ইনস্টল করার ক্ষেত্রে আসে। (ঠিক আছে, আমাকে কিছু ত্রুটি বের করতে হয়েছিল, তবে এখন আমার এনপিপি কাজ করছে)।

বিশ্বব্যাপী কিছু ইনস্টল করার চেষ্টা করার বিষয়টি যখন আসে তখন আমি আটকে যাই।

বিশ্বব্যাপী কিছু প্যাকেজ ইনস্টল করার জন্য আমি এখন পর্যন্ত যা করেছি:

  1. পরীক্ষা-ডিরেক্টরি তৈরি করা হয়েছে grunttest

  2. ডিরেক্টরিটির ভিতরে:

    npm install -g jshint

আউটপুট আমি দেখতে পাচ্ছি:

 npm http GET https://registry.npmjs.org/jshint
 npm http 304 https://registry.npmjs.org/jshint
 ...
 npm http 304 https://registry.npmjs.org/string_decoder
 C:\Program Files\nodejs\node_modules\npm\jshint -> C:\Program Files\nodejs\node_modules\npm\node_modules\jshinnt
 jshint@2.4.4 C:\Program Files\nodejs\node_modules\npm\node_modules\jshint
 ├── console-browserify@0.1.6
 ├── exit@0.1.2
 ├── underscore@1.4.4
 ├── shelljs@0.1.4
 ├── minimatch@0.2.14 (sigmund@1.0.0, lru-cache@2.5.0)
 ├── cli@0.4.5 (glob@3.2.9)
 └── htmlparser2@3.3.0 (domelementtype@1.1.1, domutils@1.1.6, domhandler@2.1.0, readable-stream@1.0.26-2)

আমি কেবল 304 টি উপলব্ধি করেছি, যা ঠিক হওয়া উচিত, কারণ কেবলমাত্র বলেছে যে শেষ ইনস্টলেশনটি থেকে কয়েক মিনিট আগে রিসোর্সটি পরিবর্তন করা হয়নি।

জ্বিশান্টটি উপস্থিত রয়েছে কিনা তা পরীক্ষা করছে:

`npm -global list`

আউটপুট:

npm@1.4.3 C:\Program Files\nodejs\node_modules\npm
├── abbrev@1.0.4
├── ansi@0.2.1
├─...
├──
├── graceful-fs@2.0.2
├── inherits@2.0.1
├── ini@1.1.0
├─┬ init-package-json@0.0.14
│ └── promzard@0.2.1
├─┬ jshint@2.4.4 extraneous
│ ├─┬ cli@0.4.5
│ │ └─┬ glob@3.2.9
│ │   └── inherits@2.0.1
│ ├── console-browserify@0.1.6
│ ├── exit@0.1.2
│ ├─┬ htmlparser2@3.3.0
│ │ ├── domelementtype@1.1.1
│ │ ├── domhandler@2.1.0
│ │ ├── domutils@1.1.6
│ │ └─┬ readable-stream@1.0.26-2
│ │   └─... ├── text-table@0.2.0
├── uid-number@0.0.3
└── which@1.0.5

**npm ERR! extraneous: jshint@2.4.4 C:\Program Files\nodejs\node_modules\npm\node_modules\jshint npm**

প্রশ্নাবলী:

  1. আমি এনপিএম ইআরআর করব কেন! বহিরাগত ...?
  2. এর মানে কী?
  3. আমি কীভাবে এই সমস্যাটি সমাধান করতে পারি?

তথ্য:

আমি একটি উইন্ডোজ-মেশিন উইন্ডোজ 7 এ থাকি, স্যাগুইনকে শেল হিসাবে ব্যবহার করি। jshint someTestfile.jsঅবশ্যই jshint ( ) করার চেষ্টা করা কার্যকর হয় না।

অগ্রিম ধন্যবাদ, মেরু

উত্তর:


208

npm ERR! extraneousমানে একটি প্যাকেজ ইনস্টল করা আছে তবে এটি আপনার প্রকল্পের তালিকাভুক্ত নয় package.json

যেহেতু আপনি বিশ্বব্যাপী ইনস্টল করা প্যাকেজগুলি তালিকাভুক্ত করছেন, এটি আপনাকে প্রচুর বহিরাগত ত্রুটি প্রদান করবে যা কেবল এড়ানো যায় কারণ বিশ্বব্যাপী ইনস্টল করা বেশিরভাগ জিনিসগুলি আপনার প্রকল্পের মধ্যে থাকবে না package.json


1
ওহে! উত্তর করার জন্য ধন্যবাদ. এর অর্থও কি এই যে, আমার তীব্রভাবে "jshint" চালানো উচিত, সঠিক?
মেরু

সঠিক। চলমান jshint myfile.jsউপর jshint চালানো উচিত myfile.js
কাইল রবিনসন ইয়ং

1
আহ আমি দেখি. গ্রান্টের সাথে, সমস্ত কিছুই কাজের মধ্য দিয়ে যায়। আপনি নিজের মধ্যে grunt-contrib-jshintটাস্কটি লোড এবং কনফিগার করবেন Gruntfile.js। আপনি বিশ্বব্যাপী ইনস্টল করা একমাত্র জিনিস npm i grunt-cli -gযা আপনাকে gruntকমান্ড চালানোর জন্য অ্যাক্সেস দেয় Gruntfile.js। আরও তথ্যের জন্য এই গাইড দেখুন: gruntjs.com/getting-st সূচিত
কাইল রবিনসন ইয়ং

8
আপনার যদি বহির্ভুত গ্রন্থাগারগুলি স্থানীয়ভাবে সংরক্ষণ করা থাকে (বিশ্বব্যাপী নয়) তবে npm pruneএগুলি থেকে মুক্তি পেতে আপনি চালাতে পারেন।
krx

2
@ কাইলরোবিনসন ইয়ং: উত্তরে এর উল্লেখ সম্পর্কে কীভাবে। আপনি সমস্ত অব্যবহৃত প্যাকেজটি মুছে ফেলতে পারেনnpm prune --your-env
geek_guy

21

1 এবং 2: এর অর্থ হল আপনার প্রকল্পের প্যাকেজ.জসন ফাইলে আপনার জশিন্ট তালিকাভুক্ত নেই তবে এটি বিশ্বব্যাপী ইনস্টল করা আছে। সুতরাং এটি কোনও বড় সমস্যা নয়।

3: এই বহিরাগত ত্রুটি এড়াতে , আপনি বিকল্পটি দিয়ে ইনস্টলটি চালাতে বা পুনরায় চালাতে পারেন --save। এটি স্বয়ংক্রিয়ভাবে আপনার প্যাকেজ.জসন ফাইল আপডেট হবে:

npm install -g jshint --save

অথবা আপনার প্যাকেজ.জসোন ফাইলটি ম্যানুয়ালি আপডেট করতে হবে "dependencies": {...}


মা ক্ষেত্রে কেবল স্থানীয় সাথে কোনও গ্লোবাল ডুপ্লিকেট না নিয়ে কাজ করে
বিজি ব্রুনো

2
--saveএকসাথে কাজ করে না -g। গ্লোবাল প্যাকেজ তালিকার একটি প্যাকেজ.জসন নেই।
Guido Boman

5

আমি npm updateপ্যারেন্ট প্যাকেজটির ফোল্ডারে এটি করার মাধ্যমে সমাধান করেছি যা তালিকার বাইরে থেকে কিছু বহির্মুখী প্যাকেজ সরিয়ে ফেলেছে এবং এরপরে npm uninstall <package>বাকি কয়েকটির জন্য করেছিল।

মনে হচ্ছে কাজ করেছে, কারণ এটি করার পরে আমি কোনও ত্রুটি পাচ্ছি না।


3

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

npm install -g packagename --save

যেহেতু এনপিএম এই প্যাকেজটি বিশ্বব্যাপী ইনস্টল করেছে তবে এটি আমার স্থানীয় প্যাকেজ.জসন ফাইলে যুক্ত না করে, আমাকে এটি সম্পর্কে কিছু করতে হয়েছিল।

আমি নির্বাচন করি, স্থানীয় একটিকে সরাতে এবং তারপরে এটি বিশ্বব্যাপী ইনস্টল করার সমাধান।

npm uninstall packagename
npm install -g packagename

এইভাবে আমার আর কোনও সতর্কতা নেই এবং প্যাকেজ.জসোন ফাইলটি বিশৃঙ্খলা করবে না।


প্লাস 100. আমাকে স্থানীয়ভাবে আনইনস্টল করতে হয়েছিল এবং বিশ্বব্যাপী ইনস্টল করতে হয়েছিল।
কলিন পিটারস

1

আমি আমার কেস, আমি এই 'এনপিএম ইআরআর দেখেছি! আমার সাইগউইন টার্মিনালে বহিরাগত 'বার্তা যখন আমি একটি' এনপিএম এলএস 'করি। আমি ভেবেছিলাম যে এটি প্রচুর পরিমাণে ঝাঁকুনির পরে বিশ্বব্যাপী দূষিত সেটআপ ছিল। আমি এখানে নিম্নলিখিত পর্যবেক্ষণগুলি শিখি:

  • 'এনএমপি এলএস' আপনার বর্তমান ফোল্ডারের অবস্থান কী তার উপর নির্ভর করে বিভিন্ন আউটপুট দেয়।
  • 'এনএমপি এলএস' বর্তমান ফোল্ডারের অবস্থানটিতে একটি 'নোড_মডিউলস' ফোল্ডারের উপস্থিতি সনাক্ত করার চেষ্টা করে এবং সেগুলি সামগ্রী তালিকাভুক্ত করে। বিশ্বব্যাপী না!
  • তদ্ব্যতীত, 'নোড_মডিউলস' সমেত বর্তমান ফোল্ডারে যদি এখানে একটি প্যাকেজ.জসন ফাইলও থাকে তবে এখানে তালিকাবদ্ধ কম মডিউল থাকে, তবে ত্রুটিটি দেখায়।

আমি 'আরএম প্যাকেজ.জসন' এবং 'এনপিএম এলএস' আর ত্রুটি বার্তা দেখায় না। সুতরাং আমি বলছি, যে সর্বদা 'নোড_মডিউলস' ফোল্ডার এবং প্যাকেজ.জসন ফাইল উপস্থিতির জন্য বর্তমান অবস্থান পরীক্ষা করে কারণ এগুলি চেকের মধ্যে প্রথমে অগ্রাধিকার দেওয়া হয় এবং যদি এটি অনুপস্থিত থাকে তবে চেকটি প্যারেন্ট ফোল্ডারে অবিরত থাকবে এবং এইভাবে, এবং যদি আপনি প্রচুর কোড স্নিপেটকে অনেকগুলি টিনকি করেছেন তবে আপনি হয়ত প্রচুর নোড_মডিউল ফোল্ডার এবং প্যাকেজ.জসন ফাইলের চারপাশে ছড়িয়ে ছিটিয়ে থাকতে পারেন। জে 2 ই ই জাভা বিকাশ / গ্রহন আইডিই করার সময় বা উইন্ডোজে সেটিংস পরিবর্তন করতে যখন রেজিডিট ব্যবহার করতে হয় তখন আমাদের সেই অভিজ্ঞতার বিপরীতে এখানে কিছুই সত্যই দূষিত হয় না।


1

আমার ক্ষেত্রে এটি কারণ এটির package.jsonফাইলের প্যাকেজের নাম package.jsonনির্ভরশীল মডিউলটির তালিকাভুক্তির নামের মতো নয় । আমার ত্রুটি, যেহেতু এটি আমি তৈরি করেছি একটি নতুন মডিউল, তবে স্পষ্ট করা শক্ত, যেহেতু এনপিএম কোনও ক্লু দেয় না।

dependencies: { "my-module": "file:local-modules/mymodule" }"আমার-মডিউল" নামে একটি টাইপো সহ সিনট্যাক্স ব্যবহার করার সময় এটি ঘটেছিল ।


0

এটি আপনার প্যাকেজটি আপনার প্যাকেজ.জসনে নেই এই কারণে। আপনি যদি এটি যুক্ত করেন তবে সমস্যাটি সমাধান হয়ে যাবে, দয়া করে নীচের চিত্রটি দেখুন:

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

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