এনপিএম ইনস্টলে: আনহ্যান্ডেলড প্রত্যাখ্যান ত্রুটি: EACCES: অনুমতি অস্বীকৃত


271

আমি আমার npmইনস্টলটিকে দূষিত করতে সক্ষম হয়েছি এবং যখনই আমি প্যাকেজগুলি ব্যবহার করে ইনস্টল করার চেষ্টা npm installকরি, আমি এই লাইনগুলিতে ত্রুটি বার্তা পেয়েছি:

অপরিশোধিত প্রত্যাখ্যান ত্রুটি: EACCES: অনুমতি অস্বীকার করা হয়েছে, '/ ব্যবহারকারী / চিহ্ন / নর্নাগেট / এনএনপি /_ক্যাচি / টিএমপি / এ 449402 ডি' খুলুন

আমি নোড এবং এনপিএম পুনরায় ইনস্টল করার চেষ্টা করেছি এবং এই নির্দেশাবলী ব্যবহার করে আমার এনপিএম ক্যাশে অন্য কোথাও স্থানান্তরিত করার চেষ্টা করেছি কিন্তু কিছুই কার্যকর হয়নি।

আমি কীভাবে এটি কাজ করতে পারি?

উত্তর:


924

ব্যবহারকারীর এনপিএম সম্পর্কিত ফোল্ডারগুলির বর্তমান ব্যবহারকারীর কাছে পুনরায় পুনঃস্থাপন করুন:

sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config

10
আমি 4-5 অন্যান্য জিনিস যা কাজ করে নি তার পরে এটি আমার জন্য কাজ করেছিল: 1) - আনসাফ-পারম, 2) এনপিএম আপগ্রেড করা, 3) পুনরায় চালু করা, 4) সুডো সহ চলমান ইত্যাদি
অ্যালেক্স ইয়র্ক

2
আমার জন্য @ অ্যালেক্স ইয়র্ক হিসাবে একই। আমি ইতিমধ্যে আমার ব্যবহারকারীর এবং গোষ্ঠীটিকে এই দু'জনের মালিক হিসাবে দেখেছি তবে অনুমান করি একটি উপ-ডিরেক্টরি বা দু'জনের আলাদা মালিক (গুলি) রয়েছে। ধন্যবাদ!
বেদরান

1
এটি আমার জন্য কাজ করেছে :), এর আগে আমি এই ডক্সটি চেষ্টা করছিলাম .npmjs.com/… । এটি একই সমস্যা বা ভিন্ন কিনা তা বুঝতে সক্ষম নয়।
নিম 118

1
দেখে মনে হচ্ছে, নোডের সাথে আমার জ্বলজ্বল করার কোনও সময়ে, সেই ক্যাশে ডিরেক্টরিগুলির একটি rootমালিকানা দিয়ে তৈরি হয়েছিল । এটি সব আপ আপ। ধন্যবাদ!
লোনন ফস্টার 13:39

2
এটি আমার জন্য কাজ করেছে, আপনাকে ধন্যবাদ! আমি এনপিএমটিকে নোড সংস্করণ পরিচালকের সাথে পুনরায় ইনস্টল করার চেষ্টা করেছি যা এনএমপি দ্বারা প্রস্তাবিত হয়েছিল কিন্তু এটি কার্যকর হয়নি!
উইনি ফান


42

আপনি যখন প্রথমবার এনপিএম চালাচ্ছেন এটি সুডোর সাথে ঘটবে, উদাহরণস্বরূপ এনপিএম ইনস্টল -g করার চেষ্টা করার সময়।

ক্যাশে ফোল্ডারগুলি বর্তমান ব্যবহারকারীর মালিকানাধীন হওয়া দরকার, মূল নয়।

sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config

এটি স্বাভাবিক ব্যবহারকারীর অনুমতি নিয়ে চলার সময় উপরের ফোল্ডারগুলিকে মালিকানা দেবে (সুডো হিসাবে নয়)।

এটিও লক্ষণীয় যে আপনার SUDO ব্যবহার করে বৈশ্বিক প্যাকেজ ইনস্টল করা উচিত নয়। আপনি যদি অনুমতি নিয়ে সমস্যাগুলি নিয়ে যান তবে এটি আপনার গ্লোবাল ডিরেক্টরিটি পরিবর্তনযোগ্য। দস্তাবেজগুলি সুপারিশ করে:

mkdir ~/.npm-global

npm config set prefix '~/.npm-global'

তারপরে আপনার পাঠ্য আপডেট করে যেখানেই আপনি এটি নির্ধারণ করেন (~ /। প্রোফাইল ইত্যাদি)

export PATH=~/.npm-global/bin:$PATH

তারপরে আপনাকে নিশ্চিত করতে হবে যে PATH env ভেরিয়েবল সেট করা আছে (টার্মিনাল পুনরায় আরম্ভ বা উত্স কমান্ড ব্যবহার করে)

https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally


3
কেন :) এর স্পষ্ট ব্যাখ্যার জন্য এটিকে ভোট দিচ্ছেন :)

হা. উপরের "সঠিক সমাধান" না দিলে এটি আমার জন্য সমস্যার সমাধান করে।
জন স্মিথ

এই সমস্ত জিনিসগুলি এনপিএমের মাধ্যমে বিমূর্ত করা উচিত, তবে পরিবর্তে আমাদের এটি ম্যানুয়ালি মোকাবেলা করতে হবে। আপনি ভাববেন যে এটি রক্ষণাবেক্ষণকারীদের পক্ষে এ জাতীয় জিনিস ঠিক করা উচ্চতর অগ্রাধিকার হবে তবে আমি কী জানি। আমাদের এই আদেশগুলি কেন করা দরকার তা বোঝানোর জন্য ধন্যবাদ !
YungGun


9

উপরে উত্তর আমার জন্য কাজ করে না। আপনার কমান্ডটি দিয়ে চালানোর চেষ্টা করুন --unsafe-perm

যেমন

npm install -g node@latest --unsafe-perm

এটি সমস্যার সমাধান বলে মনে হচ্ছে।


@ জেনলিম আপনি এটি বাছাই করেছেন বা না?
জুনেদ ফারুক

আমি নিম্নলিখিতটি টার্মিনালে চালিয়ে সমস্যার সমাধান করেছি: এনপিএম ক্যাশে পরিষ্কার - বল।
Aspyn লিম


2

কেবল স্থানে ম্যানুয়ালি _cache/tmpঅধীনে ফোল্ডার তৈরি করুন এবং প্রশাসক অ্যাক্সেস সহ আপনার কমান্ডটি চালান.npm/Users/marknorgate/.npm/_cacache/tmp


2
sudo npm install --unsafe-perm=true --allow-root

এই তিনিই আমার পক্ষে কাজ করেছিলেন




1

মালিকানা পরিবর্তন করুন

sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config 

আমি sudo ব্যবহার করে প্যাকেজ ইনস্টল করার জন্য কাজ করেছি


1

এটি ব্যবহার করে দেখুন: আপনার হোম ডিরেক্টরিতে কমান্ড লাইনে, বৈশ্বিক ইনস্টলেশনগুলির জন্য একটি ডিরেক্টরি তৈরি করুন:

mkdir ~/.npm-global

নতুন ডিরেক্টরি পাথ ব্যবহার করতে এনপিএম কনফিগার করুন:

npm config set prefix '~/.npm-global'

আপনার পছন্দের পাঠ্য সম্পাদকটিতে একটি open /। প্রোফাইল ফাইল খুলুন বা তৈরি করুন এবং এই লাইনটি যুক্ত করুন:

export PATH=~/.npm-global/bin:$PATH

কমান্ড লাইনে, আপনার সিস্টেমের ভেরিয়েবলগুলি আপডেট করুন:

source ~/.profile

এখন এনপিএম ইনস্টল ব্যবহার করুন এটি কাজ করা উচিত।


0

আপনি এক্সপোতে নিম্নলিখিত আদেশটি চেষ্টা করতে পারেন:

sudo chown -R $USER:$GROUP ~/.expo



-1

এটি আমার জন্য কাজ করে:

sudo chown -R $(whoami) ~/.npm

আমি ব্যবহার করিনি -gকারণ আমি একমাত্র ব্যবহারকারী। আমি একটি ম্যাকবুক এয়ার ব্যবহার করেছি।

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