এনপিএম আপডেট চেক ব্যর্থ হয়েছে


14

আমি আমার উবুন্টু ১.0.০৪ এ এনপিএম সহ নোডেজ ইনস্টল করার চেষ্টা করছিলাম। আমি নোডেজেএস.আর.আর্গ. থেকে লিনাক্স সংস্করণ ডাউনলোড করেছি এবং নোড এবং নোডেজের জন্য নরম লিঙ্ক তৈরি করেছি। নোডেজের সংস্করণ যাচাই করার পরে এটি ইনস্টল করা সংস্করণটি দেখায় এবং আমি এটির সাথে ঠিক আছি।

এখন আমি এনপিএমের জন্যও একই চেষ্টা করেছি। আমি এনএমপি-র জন্য নরম লিঙ্ক তৈরি করার চেষ্টা করেছি।

 sudo ln -sf /mnt/7A46BE1454633621/softwares/programming/frontend/nodejs/lib/node_modules/npm/bin/npm 
    /usr/bin/npm

আমি জানি না যে আমার তৈরি লিঙ্কটি সঠিক কিনা। npm -vকমান্ড চালানোর পরে আমি 5.0.3 সংস্করণটি দেখতে পাচ্ছি যা আমি ইনস্টল করার চেষ্টা করছি। সংস্করণ দেখানো হয়েছে তবে ঠিক এর নীচে আমি এরকম কিছু দেখতে পাচ্ছি।

5.0.3
npm update check failed                 │
│           Try running with sudo or get access           │
│          to the local update config store via           │
│ sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config 

আপনি sudo chown -R $USER:$(id -gn $USER) /home/sagar/.configযেমন পরামর্শ দিয়েছেন?
জর্জ উদোসেন

আপনি যদি ডকার ব্যবহার করছেন তবে ফাইল সিস্টেমটি কেবল পঠনযোগ্য কিনা তা ডাবল পরীক্ষা করে দেখুন। এটি অবশ্যই লেখার যোগ্য।
Ван

উত্তর:


14

আমার এনপিএম সংস্করণ 5.0.3 এবং আমি যখন কোনও এনপিএম কমান্ড ব্যবহার করি তখন আমার একই সমস্যা হয়:

এনপিএম ত্রুটি বার্তা

কমান্ডটি ঠিকঠাক কাজ করছে তবে এই কোডটি আপাত কোনও কারণে প্রদর্শিত হচ্ছে না। আমি এই আদেশগুলি দিয়ে 5.0.3 থেকে 5.2.0 এ আপডেট করেছি:

sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config

npm install -g npmবা npm i -g npm

এখন এনপিএম ভাল কাজ করছে।


আমার জন্য কাজ করেছেন। যদিও, আমার npmসাথে রুট হিসাবে আপডেট করতে হয়েছিল sudo npm i -g npm
N.০১.২০ এ

3

আমার কাছে ঠিক একই সমস্যা, তবে সংস্করণটির সাথে সম্পর্কিত বলে মনে হচ্ছে না (আমি এনএমপি 5.5.1 ব্যবহার করছি)। অধিকার ঠিক করা ~/.configআমার জন্য কৌশলটি তৈরি করে:

sudo chown -R $USER:$(id -gn $USER) ~/.config

আমার ধারণা এটির সাথে কিছু মালিকের ইস্যু সম্পর্কিত ~/.config/configstore/update-notifier-npm.json


1

আমি এর মালিক পরিবর্তন করেছি

~/configstore

এবং

~/configstore/update-notifier-npm.json

থেকে $ ব্যবহারকারী: $ ব্যবহারকারী।

আমার অনুমান যে সুডোর npmসাথে দৌড়ানো সেই ফাইলটি তৈরি করেছে। আমার সিস্টেমে কমপক্ষে আমরা এটি পাই:

$ env | grep  -e HOME= -e "^USER="
USER=craig
HOME=/home/craig

$ sudo env | grep  -e HOME= -e "^USER="
HOME=/home/craig
USER=root

তাই sudo npmকোডিং করা থাকলে ~/configstore/update-notifier-npm.jsonএটি সাধারণ ব্যবহারকারীর হোম ডিরেক্টরি এটি করে চলেছে। এটা একটা সমস্যা সৃষ্টি যখন পরে চলমান npmছাড়া sudoযা পড়তে এবং হয়ত লিখতে চায় ~/configstore/update-notifier-npm.json। কোনও কারণে অনুমতিগুলি উভয়টির জন্য 600।

সমস্ত কিছু যখন chownএবং এর chmodঅধীনে সতর্ক হন ~/.config, সেখানে কিছু সংবেদনশীল থাকতে পারে।


1

দয়া করে ত্রুটি বার্তায় প্রদত্ত chownকমান্ডটি ব্যবহার করবেন না । পাথটি ~/.configঅনেক অ্যাপ্লিকেশন দ্বারা ব্যবহৃত হয় এবং এটি কনফিগার তথ্য সংরক্ষণের জন্য একটি স্ট্যান্ডার্ড পাথ। সেখানে গ্রুপের অধিকারগুলি পরিবর্তন করার পরামর্শ দেওয়া হয় না। কেবলমাত্র প্রয়োজনীয় পাথ পরিবর্তন করা ভাল:

sudo chown -R $USER ~/.config/configstore

বিশেষ মামলা: ডকার

এই ত্রুটিটি পেতে একটি সাধারণ ক্ষেত্রে ডকারের মতো কিছু ব্যবহার করা (বিশেষত আপনার নিজের বাড়ির মাউন্ট করে)। এনভায়রনমেন্ট ভেরিয়েবল NPM_CONFIG_CACHEএবং এর মতো করে নির্ধারণ করুন XDG_CONFIG_HOME। প্রথমটি আপনার ক্যাশে পাথটি সেট করে এবং শেষটি আপনার কনফিগার স্টোরটিকে সেট করে। .configফাইলের মালিকানা নিয়ে সমস্যা এড়াতে আমি হোম ডিরেক্টরিতে ফোল্ডারটি ব্যবহার করব না । তবে ক্যাশে ব্যবহার এনপিএমের মতো পরিষেবাগুলিকে ব্যান্ডউইথ সংরক্ষণে সহায়তা করে। প্রতিটি বিল্ডে অতিরিক্ত ডাউনলোডগুলি এড়াতে চেষ্টা করুন এবং এর মতো কিছু ব্যবহার করুন (তবে লক্ষ্য হিসাবে /tmpপর্যাপ্ত ডিস্কের জায়গা রয়েছে কিনা তা পরীক্ষা করুন ):

test -d /tmp/$USER/cache || mkdir -p /tmp/$USER/cache
docker run \
  -v /tmp/$USER:/tmp/$USER \
  -e "NPM_CONFIG_CACHE=/tmp/$USER/cache/npm" \
  -e "XDG_CONFIG_HOME=/tmp/$USER/cache/" \
  ...

0

ঠিক আছে, এই সমস্যাগুলি সমাধান করার জন্য আমরা প্রথমে যা করতে পারি তা হ'ল

  1. লুকানো ফাইলগুলি দেখার জন্য আপনি ফোল্ডার সেটিংয়ে একটি বিকল্প টিক করেছেন কিনা তা নিশ্চিত করুন।
  2. .Config ফাইলটিতে ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলি নির্বাচন করুন এবং তারপরে অনুমতি ট্যাবে ক্লিক করুন।
  3. গ্রুপের জন্য ফোল্ডারের অনুমতি এবং ফাইল অনুমতিগুলিতে মালিক | অন্যরা পঠন, লেখার এবং প্রয়োগের বিকল্পগুলিকে টিক চিহ্ন দেয়।
  4. বদ্ধ ফাইলগুলিতে অনুমতি প্রয়োগ করতে নীচে ক্লিক করুন।
  5. এখন সেই একই এনপিএম কমান্ডগুলি পুনরায় চালু করার চেষ্টা করুন যেখানে আপনি এই বার্তাটি দেখছিলেন এবং এখন এটি চিরতরে চলে যেতে হবে।

এটি আপনাকে কী করতে হবে তা যদি সহায়তা করে।

দ্রষ্টব্য: একমাত্র .config ফোল্ডারের মধ্যে কনফিগার স্টোরের জন্যও একই পদ্ধতি প্রয়োগ করা যেতে পারে।

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