সর্বশেষ উবুন্টু (18.04) ইনস্টলেশনতে এনপিএম ভুল সংস্করণ


18

সাধারণ ইনস্টলেশনটি sudo apt install nodejsনোড.জেএস ইনস্টল করা এবং তারপরে sudo apt install npmনোড প্যাকেজ ম্যানেজার ইনস্টল করা হবে। যাইহোক, এটি করার পরে, npm -vবলেছেন 3.5.2। সাধারণভাবে আপগ্রেড করতে, আমি করব sudo npm install -g npm, যা সর্বশেষ সংস্করণে আপডেট হয় (যা এই নিবন্ধটি লেখার সময়, 6.0.1)।

আমি যখন একটি করি which npm, আমি পাই /usr/local/bin/npm, তবে এখানে aptএকটি সিমিলিংক ইনস্টল করি /usr/bin/npm। আমি যদি sudo apt purge npmএনপিএম সরিয়ে ফেলতে পারি তবে এটি এনপিএম এর এনপিএম সংস্করণটি ছেড়ে দেয় /usr/local/bin/npm, তবে এটি npm -vবলে -bash: /usr/bin/npm: No such file or directory

অনেক নিবন্ধ নোডেজ ইনস্টল করতে পিপিএ ব্যবহার করতে বলে তবে আমি মনে করি এটি করার একটি নেটিভ উপায় থাকা উচিত apt

সাধারণত ও পিপিএর মাধ্যমে ইনস্টলেশন সম্পর্কিত ডিজিটাল ওশনের নির্দেশাবলী: https://www.digitalocean.com/commune/tutorials/how-to-install-node-js-on-ubuntu-18-04

পিপিএর মাধ্যমে ইনস্টলেশন সম্পর্কিত টেকএডমিন নির্দেশাবলী: https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/

উত্তর:


31

TLDR: এই সমস্যা সৃষ্টি হয় ব্যাশ পথ ক্যাশে এর npmকমান্ড, এবং সমাধান করা যেতে পারে hash -d npm। আপনি না চাইলে ডিল করারও দরকার নেই apt purge

ব্যাখ্যা

npmউবুন্টুতে নতুন সংস্করণ পাওয়ার জন্য আমার পদক্ষেপগুলি এখানে ছিল । প্রথমে ওপি বর্ণিত হিসাবে ইনস্টলেশনটি করুন:

$ sudo apt-get install npm
(...apt installation of npm was successful...)
$ npm -v
3.5.2
$ command -v npm
/usr/bin/npm
$ sudo npm install -g npm
(...npm installation of npm was successful...so far, so good)

আপনি দেখতে পাচ্ছেন যে নতুন সংস্করণটি ইতিমধ্যে ভাল কাজ করছে /usr/local/bin/npm, তবে দুর্ভাগ্যক্রমে বাশ ক্যাশে এখনও রয়েছে /usr/bin/npm:

$ /usr/local/bin/npm -v
6.4.1
$ npm -v
3.5.2
$ command -v npm
/usr/bin/npm
$ type npm
npm is hashed (/usr/bin/npm)

সমস্যা সমাধানের জন্য, এটি বাশ ক্যাশে থেকে সাফ করুন (সমস্ত উন্মুক্ত শেলগুলিতে এটি করুন):

$ hash -d npm

এখন নতুন সংস্করণ কাঙ্ক্ষিত হিসাবে কাজ করে:

$ npm -v
6.4.1
$ command -v npm
/usr/local/bin/npm

1
আমি এই উত্তরটি আমার নিজের চেয়ে ভাল পছন্দ করি।
ব্লেয়ারজ 23

এটি আমার সমস্যার সমাধান করেছে। তোমাকে অনেক ধন্যবাদ. দুর্দান্ত ব্যাখ্যাও। যে বিষয়টি আমার কাছে অস্পষ্ট তা হ'ল বাশ ক্যাশে সাফ করা কেন সমস্যার সমাধান করে তার সঠিক প্রকৃতি। এটা ভাল হবে না মুছে দিতে npmসংরক্ষিত /usr/bin/npm? এবং বাশ ক্যাশে সাফ করার পরে কেন সঠিক সংস্করণটি নেওয়া হয়েছে, যদি উভয় সংস্করণ ইনস্টল থাকে?
অস্থায়ী_ ব্যবহারকারী_নাম

12

আমি যেভাবে খুঁজে পেয়েছি তা হল এনপিএমের মধ্য দিয়ে শুদ্ধি করা sudo apt purge npm, তারপরে কেবল বিশ্বব্যাপী ইনস্টলেশনটিতে একটি সিমিলিংক পুনরায় তৈরি করুন ln -s /usr/local/bin/npm /usr/bin/npm। ঠিক করার পরে প্রত্যাশার মতো npm -vপ্রত্যাবর্তন 6.0.1হয়।


2
অ্যান্ড্রয়েড 6.0.1 এ ইউজারল্যান্ডের মাধ্যমে চলমান উবুন্টু 18.04 নিয়ে কাজ করেছেন । ধন্যবাদ! :)
l3l_aze

1
ওপি আপনার উত্তর হিসাবে এটি চিহ্নিত করা উচিত।
রবার্ট মুন

অদ্ভুত জিনিস, আমার জন্য এটি ছিল ভিন্ন। আমার আপডেটেড সংস্করণটি ছিল /usr/bin/npmতাই আমি ব্যবহার করে বিপরীত পথে চলে গেলাম ln -s /usr/bin/npm /usr/local/bin/npm। অদ্ভুত, তবে আপনার উত্তরটি আমাকে ভুল সংস্করণ সমস্যার সাথে কীভাবে ডিল করতে হয় তা খুঁজে পেতে সহায়তা করে।
লর্ডআনমন্ডার

2

ইনস্টল করা এনপিএম সংস্করণে নিয়ন্ত্রণ রাখতে, আমি সর্বদা nvm(নোড সংস্করণ নিয়ন্ত্রণ) ব্যবহার করি । আপনি এখানে নির্দেশাবলীর মাধ্যমে এটি ইনস্টল করতে পারেন: https://github.com/creationix/nvm তারপরে আপনার কম্পিউটারে সর্বশেষ এনপিএম ইনস্টল করুন:

nvm install node

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