এনএমপি ব্যবহারের সময় "এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই" ত্রুটি


34

আমি এখানে প্রদত্ত নির্দেশাবলী ব্যবহার করে নোড এবং এনপিএম ইনস্টল করেছি

আমি সফলভাবে নোড ব্যবহার করতে সক্ষম হয়েছি। তবে, "ফর্মিটেবল" নোড মডিউলটি ইনস্টল করার চেষ্টা করার সাথে সাথে আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

$npm install formidable
bash: /usr/local/bin/npm: /usr/local/bin/node: bad interpreter: No such file or directory

যখন আমি একটি which npmকরি আমি নিম্নলিখিত আউটপুটটি পাই:

$which npm
/usr/local/bin/npm

এখানে এনপিএম এর সাথে কী ভুল তা সম্পর্কে আমার কোনও ধারণা নেই - আমি কীভাবে এটি ঠিক করতে পারি তার কোনও ধারণা?


উবুন্টুকে জিজ্ঞাসা করুন স্বাগতম! আমি দেখছি আপনি নোড ইন ইনস্টল করেছেন /usr/local/bin/। আপনি যে লিঙ্কগুলিতে লিঙ্ক করেছেন সেগুলিতে আপনি যে প্যাকেজগুলি ব্যবহার করেছেন তা এটি করবেন না। আমি মনে করি আপনি উত্স থেকে অন্য নোডও ইনস্টল করেছেন। পুরো গল্পটি বলুন।
gertvdijk

@gertvdijk ঠিক আছে, প্রাথমিকভাবে নোড 0.8.14 ইনস্টল করা হয়েছিল। আমি এটি 0.8.18 এ আপগ্রেড করতে চেয়েছিলাম। আমি তখন দৌড়েছি $sudo apt-get remove --purge nodejs npmকিন্তু এটি কার্যকর হয়নি। node --version0.8.18 ইনস্টল করার পরেও 0.8.14 দেখিয়েছে। সুতরাং, আমি যা করেছি তা হ'ল একটি পোস্ট অনুসরণ করলাম যা আমি এখন খুঁজে পাচ্ছি না - এটি মূলত which nodeঅনুসরণ করার জন্য নির্দেশিত হয়েছিল rm -r /usr/local/bin/...- মূলত সেই ডিরেক্টরিটির অধীনে কিছু নোড সম্পর্কিত ফাইল। এখন, এর পরে, আমি নোডটি পুনরায় ইনস্টল করেছি এবং এটি আপডেট হওয়া সংস্করণ। এটি কার্যকর কাজ করছে, তবে এনপিএম হয় না।
ব্যবহারকারী 109187

হ্যাঁ আপনি যখন উত্স থেকে ইনস্টল করবেন তখন এটাই হয়। এটি আপনার প্যাকেজ পরিচালনা এবং আপনাকে ব্যবহারকারী হিসাবে বিভ্রান্ত করবে। আপনি কী করছেন তা যদি না জানেন তবে দয়া করে কেবল প্যাকেজ হিসাবে সফ্টওয়্যার ইনস্টল করুন। এই পূর্ববর্তী সংস্করণটি সঠিকভাবে আনইনস্টল করতে আপনি যে স্ক্রিপ্টগুলি ইনস্টল করতে ব্যবহার করেছিলেন সেগুলি সহ আনইনস্টল নির্দেশাবলী ব্যবহার করুন। এবং দয়া করে আরও তথ্য সরবরাহ করতে আপনার প্রশ্নটি সম্পাদনা করুন। এটি একটি প্রশ্নোত্তর সাইট, কোনও আলোচনার ফোরাম নয়, আপনি দেখছেন? :)
gertvdijk

@gertvdijk আমি পোস্টটি পেয়েছি যা ম্যানুয়ালি ফাইলগুলি মুছে ফেলার নির্দেশ দিয়েছে - stackoverflow.com/a/5917184/1907800 । এখানে পথটি /
ইউএসআর

উত্তর:


51

@Gertvdijk ইঙ্গিতটি নিয়ে আমি স্ক্রিপ্টটি ব্যবহার করে এনপিএম আনইনস্টল করেছি:

rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*

(যা এখানে পাওয়া যাবে )

উপরোক্ত সম্পাদন করার পরেও আমি অন্য একটি ত্রুটি পেয়েছি:

$ npm install formidable  
bash: /usr/local/bin/npm: No such file or directory

সুতরাং, আমি hash -rটার্মিনালে দৌড়েছি ( এনপিএম উইন্ট রান পরে আপগ্রেডের অধীনে প্রাপ্ত নির্দেশাবলী অনুসারে ) এবং ভয়েলা - এটি কাজ করেছিল। এনপিএম এখন কাজ!


1
এখানে কেবল দরকারী জিনিসটি আবিষ্কার করা হয়েছিল hash, যা অন্য নোড / এনপিএমকে সহজেই নির্দেশ করতে ব্যবহার করা যেতে পারে (আমি যদি নোডের একাধিক সংস্করণের সাথে কাজ করতে চাই তবে কী হবে?)
ব্যবহারকারী 309383

সুন্দর অতিথি ব্যবহারকারী।
LM_Felding

4
হ্যাশ-আর আমাকে বাঁচিয়েছিল
diogo.abdalla

কি করে hash!?
চানজং কিম

11

উবুন্টু এবং কিছু লিনাক্স ডিস্ট্রিবিউশন নোডের অনুবাদক হিসাবে ইনস্টল করে /usr/bin/nodejsএবং না /usr/local/bin/node

আপনি ইনস্টল করার এই সমস্যাটি সমাধান করতে পারে nodejs-legacyপ্যাকেজ কোন জায়গা থেকে একটি সিমবলিক লিঙ্ক তৈরি করে /usr/bin/nodejsকরার /usr/bin/node

সমাধান:

sudo apt-get install nodejs-legacy

তথ্যসূত্র: নোডেজ-লিগ্যাসি প্যাকেজ


1
মনে হয় এটি nodejs-legacyআর নেই।
মার্টন দে লা ফুয়েন্তে

2

মনে হয় আপনি কিছুক্ষণ আগে উত্স থেকে অন্য নোড সংস্করণ ইনস্টল করেছেন। এটি /usr/local/binএখন ইনস্টল করা হবে বলে মনে হয় এমন পথ দ্বারা এটি নির্দেশিত ।

  1. আপনি উত্স থেকে ইনস্টল করা একটি আনইনস্টল করুন। কীভাবে এটি করতে উত্সের সাথে প্রাপ্ত নির্দেশাবলী দেখুন। আপনার সিস্টেমে প্যাকেজ পরিচালনার সাথে কাজ করে না এমন সফ্টওয়্যার স্ক্রিপ্টগুলি ইনস্টল করার পদ্ধতি সম্পর্কে কোনও একক উপায় নেই।
  2. আপনার প্রশ্নের সাথে লিঙ্কিত নির্দেশাবলীতে তালিকাভুক্ত প্যাকেজগুলি ইনস্টল করুন।
  3. which npmএখন /usr/binইনস্টলেশন পথ হিসাবে তালিকাভুক্ত তা যাচাই করুন ।

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

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