ত্রুটি: EACCES: অনুমতি অস্বীকৃত


106

আমি এনপিএম ইনস্টল লোডাশ চালাচ্ছি তবে এটি ত্রুটি ছুঁড়েছে : EACCES: অনুমতি অস্বীকার ত্রুটি। আমি জানি এটি অনুমতির সমস্যা তবে যতদূর জানি আমি স্থানীয়ভাবে নোড মডিউল ইনস্টল করার জন্য সুডো অনুমতি প্রয়োজন হয় না। যদি আমি এটি sudo দিয়ে চালনা করি তবে এটি ~ / node_modules ফোল্ডারের ভিতরে ইনস্টল হয়ে যায়। drwxrwxr-x হ'ল বিদ্যমান ফোল্ডারের ফাইল অনুমতি। আমি কী ভুল হতে পারে তা বুঝতে পারি না।

নীচে ত্রুটি বার্তা দেওয়া আছে।

npm ERR! tar.unpack untar error /home/rupesh/.npm/lodash/4.13.1/package.tgz
npm ERR! Linux 3.13.0-88-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "lodash"
npm ERR! node v4.3.1
npm ERR! npm  v2.14.12
npm ERR! path /home/rupesh/node_modules/lodash
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir

npm ERR! Error: EACCES: permission denied, mkdir '/home/rupesh/node_modules/lodash'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES: permission denied, mkdir '/home/rupesh/node_modules/lodash']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/home/rupesh/node_modules/lodash',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/home/rupesh/node_modules/lodash',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:35:25',
npm ERR!      '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:47:53',
npm ERR!      'FSReqWrap.oncomplete (fs.js:82:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/rupesh/Desktop/es6/npm-debug.log

ফোল্ডার node_modulesমূলের মালিক ?
এজেএস

নোড_মডিউল ফোল্ডারটি এখনও ফোল্ডারের ভিতরে তৈরি করা হয়নি যেখানে আমি ল্যাড্যাশ ইনস্টল করতে চাইছি।
এক্সট্রাট্রনিক্স

আপনি কি আপনার / হোম / রূপেশ / ডিরেক্টরি বা অন্য কোনও ডিরেক্টরিতে এনপিএম ইনস্টল চালিয়েছেন?
এজেএস

যে ফোল্ডারে আমি এনপিএম ইনস্টল চালিয়েছি তার পথ ~ / ডেস্কটপ / এস 6
এক্সট্রনিক্স

আউটপুট কী ls -l ~/Desktop | grep es6তা নিশ্চিত করুন যে আপনি এস the ডিরেক্টরিটির মালিক
এজেএস

উত্তর:


86

এই আদেশটি সমস্যার সমাধান করে। এটি আমার পক্ষে কাজ করেছে:

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

আমার মতো কারও পক্ষে, এই কমান্ডটি লেখার সময় কাজ করেছে বলে মনে হয়, নোডের জন্য v10.10.0আমি নিম্নলিখিত ত্রুটিটি পেয়েছি: "এনপিএম ইআরআর! / Var / www / প্রকল্প ইনস্টল করা যায় না: প্যাকেজের নাম অনুপস্থিত"
ওয়েন স্মলম্যান

4
পতাকাগুলি --unsafe-परम = সত্য - নীলন-রুট নোড v10.15.0 ব্যবহার করে ব্যবহারকারী হিসাবে রুট বিদ্যমান অ্যাপ্লিকেশন যেখানে নোড-স্যাস ইনস্টল করবে না হিসাবে ইনস্টল করতে কাজ করেছে। আমরা স্থানীয় ডিরেক্টরি নোড_মডিউলগুলি ফোল্ডারে নোড-স্যাস ইনস্টল করতে যে সঠিক কমান্ডটি ব্যবহার করতাম সেটি ছিল # এনপিএম ইনস্টল --save-dev --unsafe-per = সত্য - নিল - রুট নোড-স্যাস @ ​​সর্বশেষ
পিটার এডওয়ার্ডস

আপনি সমস্যার সমাধান করতে রুট ব্যবহার করতে পারেন (যদিও এটি প্রস্তাবিত নয়)।
ক্রিস মারোটা

আমি এই পতাকাগুলি ব্যবহার করে এটি কাজ করতে সক্ষম হয়েছি তাই উত্তরটির উত্তরটি হ'ল: sudo npm ইনস্টল -g --unsafe-per = সত্য - না-মূল <package-name> @ <version-name>
ফ্র্যাঙ্ক হু এমএসএফটি

48

বিশ্বব্যাপী ওয়েবপ্যাক সার্ভার ইনস্টলেশন নিয়ে আমার একই সমস্যা রয়েছে, এই url থেকে পদক্ষেপগুলি ব্যবহার করুন আমার সমস্যা, আপনার জন্য আমার হতে কাজ সমাধান।

উপরে উল্লিখিত পদক্ষেপগুলি: আপনি শুরু করার আগে আপনার কম্পিউটারকে ব্যাক আপ করুন।

বৈশ্বিক ইনস্টলেশনগুলির জন্য একটি ডিরেক্টরি তৈরি করুন:

ঘ। mkdir ~/.npm-global

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

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

একটি ~ /। প্রোফাইল ফাইল খুলুন বা তৈরি করুন এবং এই লাইনটি যুক্ত করুন:

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

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

ঘ।source ~/.profile

পরীক্ষা: sudo ব্যবহার না করে বিশ্বজুড়ে একটি প্যাকেজ ডাউনলোড করুন

npm install -g jshint

২-৪ পদক্ষেপের পরিবর্তে, আপনি সংশ্লিষ্ট ENV ভেরিয়েবলটি ব্যবহার করতে পারেন (উদাহরণস্বরূপ যদি আপনি ~ /। প্রোফাইলটি পরিবর্তন করতে চান না):

NPM_CONFIG_PREFIX=~/.npm-global

4
মোজভেতে কাজ করেছেন। 4-5 ঘন্টা সমস্যা সমাধানের পরে অনেক ধন্যবাদ, এই কৌশলটি করেছেন!
জনি 12

13

আমার লিনাক্স নিয়ে সমস্যা ছিল। আমি লিখেছিলাম

ডোবা -আর myUserName ./* 

আমার প্রকল্প ফোল্ডারে।


8
খুব অপ্রস্তুত এটি আপনার সমস্ত ডিরেক্টরিকে স্পর্শ করে এবং সেগুলির কোনওটিরই মূল অধিকারগুলি সরিয়ে দেয়। যদি কিছু জিনিসকে রুট হিসাবে সেট করার দরকার হয় তবে এটি আপনার বর্তমান কনফিগারেশনটিকে ধ্বংস করে।
প্যাট্রিক দা সিলভা

4
আমি @ পেট্রিকডাসিলভা রাজি। এটি আমার পুরো সার্ভারকে
গোলমেলে ফেলেছে

12

Npm init ব্যবহার করে প্যাকেজ.জসন তৈরি করা আমার সমস্যার সমাধান করেছে।


তবে আমি নিশ্চিত নই যে প্যাকেজ.জসন ফাইলটি প্যাকেজ হিসাবে নোড মডিউল ইনস্টল করার সময় কেন প্রয়োজন হবে তা আমার ক্ষেত্রে আপডেট হয় না বা ব্যবহৃত হয় না কারণ আমি --save বা --save-dev বা অনুরূপ কমান্ড ব্যবহার করি নি।
এক্সট্রাট্রনিক্স

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

Pm.৯.০০ এ এনপিএম এর সাথে একই রকম সমস্যা ছিল এবং এটি আমার পক্ষেও কাজ করে।
ক্রিস মারোটা

8

আপনি পোস্ট করা আপনার লগগুলিতে আমি কী দেখতে পাচ্ছি তা থেকে:

npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/home/rupesh/node_modules/lodash',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/home/rupesh/node_modules/lodash',
npm ERR!   fstream_class: 'DirWriter',

ডিরেক্টরি /home/rupesh/node_modules/তৈরি করার জন্য ডিরেক্টরিটির প্রয়োজনীয় অনুমতি নেই তাই এটি চালানো chown -r rupesh:rupesh /home/rupesh/node_modules/উচিত এটি সমাধান করা উচিত।


ক্রাউন -আর রূপেশ করছেন: রূপেশ / হোম / রূপস / নোড_মডিউল / এবং এনটিএম ইনস্টল লোডাশ আবার lod / নোড_মডিউল ফোল্ডারের ভিতরে লোডাস ইনস্টল করেছেন B তবে এবার এটি ত্রুটি ছুঁড়ে না। তবে এটি ইনস্টল করার ইচ্ছা আমার নেই।
এক্সট্রাট্রনিক্স

হ্যাঁ আমি জানি আপনার ডেস্কটপের পরিবর্তে আপনার নিজের ডিরেক্টরি ডিরেক্টরিতে প্রকল্পটি তৈরি করা উচিত। কোনও কারণে এনপিএম কোনও কারণে আপনার মডিউলগুলি ইনস্টল করছে /home/rupesh/node_modules। আপনার বাড়ির ডিরেক্টরিতে যে কোনও উপায়ে কাজ করা যাইহোক আদর্শ হওয়া উচিত
এজেএস

আমি মনে করি ~ / প্রকল্পগুলি / এস 6 wise / ডেস্কটপ / এস structure কাঠামো অনুসারে সমান hat তবে আমি বুঝতে সমস্যা হচ্ছে কেন নোড_মডিউলগুলি এস folder ফোল্ডারের অভ্যন্তরে তৈরি করা হয়নি এবং কেন এর ভিতরে লোডাশ (বা যাই হোক না কেন) মডিউল ইনস্টল করা হয়নি। আমি আগে এই সমস্যাটির মুখোমুখি হই নি তবে আজ কী ভুল হয়েছে, আমি এটিই বের করতে চাই।
এক্সট্রাট্রনিক্স

হ্যাঁ আমি আমার আগের দুটি মন্তব্য পড়েছি এবং বোকামি বুঝতে পেরেছি :), আমি চারপাশে তাকিয়ে দেখলাম এবং অন্য কারও মতো সমস্যা খুঁজে পেলাম না। আপনার কোডটি loadashমডিউলটি সন্ধান করতে সক্ষম ?
এজেএস

7

এটির others(আরএক্স) লেখার অনুমতি নেই । দিয়ে চেষ্টা করুন

chmod a+w <folder>

এবং পুনরাবৃত্তি।


4
না chownএকটি আছে -rমধ্যে প্রতিটি ফোল্ডারে এটি ব্যবহার করতে থাকার প্রতিরোধ বিকল্প node_modules?
ড্রাকসান

@ জুঞ্জো সালভাদোর এটি কাজ করে না I এটি একই ত্রুটি ছুঁড়ে।
এক্সট্রনিক্স

@ ড্রাকসান হ্যাঁ, ডুবে একটি পুনরাবৃত্তির বিকল্প রয়েছে।
জুয়ানজো সালভাদোর

7

এটি সরাসরি আমার সমস্যা সমাধান করেছে - ম্যাক মোজভেভ 10.14.6 - পিএইচপিস্টোরম।

অপরিশোধিত প্রত্যাখ্যান ত্রুটি: EACCES: অনুমতি অস্বীকার, mkdir '/ ব্যবহারকারী / মাইনেম / এনএনপি /_ক্যাচি / ইন্ডেক্স-v5/fb/5a'

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

আসল পোস্ট: https://stackoverflow.com/a/50639828


6

নীচের কমান্ড দিয়ে আপনার প্রকল্প ফোল্ডারে সমস্ত অনুমতি দেওয়ার চেষ্টা করুন

sudo chmod -R 777 /yourProjectDirectoryName

সাথে চালানো

sudo npm install lodash

এটি একটি জুনিয়র সমাধান
পাবলো পাপালার্ডো

আপনার এমনকি 777 এর দরকারও পড়তে পারে না। আমার জন্য সমস্যাটি ছিল # কেবলমাত্র খুব কম ছিল। (775 এটি স্থির করে দিয়েছিল))
অ্যান্ড্রু

"কোনও ফাইল বা ডিরেক্টরিতে 7 777 টি অনুমতি নির্ধারণের অর্থ হ'ল এটি সমস্ত ব্যবহারকারী দ্বারা পঠনযোগ্য, লিখনযোগ্য এবং কার্যকরযোগ্য হবে এবং এটি একটি বিশাল সুরক্ষা ঝুঁকি তৈরি করতে পারে।" - linuxize.com/post/
কি-

4

এফডাব্লুআইডাব্লুতে আমার একই লক্ষণ ছিল তবে আলাদা প্যাকেজ সহ। তৈরি করা হচ্ছে package.jsonএবং চলমান npm initকরেনি না আমার সমস্যা সমাধানের জন্য।

এই সিস্টেমে স্পষ্টতই এই স্থানে নতুন ফোল্ডারগুলি রুট অনুমতি নিয়ে তৈরি করা হয়েছিল। সময়npm install , নতুন ফোল্ডার তৈরি করা হয়। এর ফলে এনপিএম ইনস্টলটি পার্টওয়েতে ব্যর্থ হয়েছিল, এমনকি সুডো সহ।

সমাধানটি হ'ল npm install appকোনও রুট উমাস্ক ছাড়াই অন্য কোনও স্থানে চালানো ।


4

সম্পর্কিত সমস্যা:

বেশ কয়েক দিন ব্যাপী 3 ঘন্টা নষ্ট।

AWS ইসি 2 মেশিনে, নীচে কাজ করেছেন:

sudo chown -R $(whoami) /home/ubuntu/.cache
sudo chown -R $(whoami) /home/ubuntu/.config
sudo chown -R $(whoami) /home/ubuntu/.local
sudo chown -R $(whoami) /home/ubuntu/.npm
sudo chown -R $(whoami) /home/ubuntu/.pm2

আশা করি এইটি কাজ করবে.


3

আমি আমার এনপিএম ডিরেক্টরিটির অনুমতি পরিবর্তন করে এই সমস্যাটি সমাধান করেছি। এটি আমার জন্য এনপিএম গ্লোবাল ডিরেক্টরিতে গিয়েছিল

/home/<user-name>

আমি এই কমান্ডটি প্রবেশ করে এই ডিরেক্টরিতে গিয়েছিলাম

cd /home/<user-name>

এবং তারপরে এই কমান্ডটি প্রবেশ করে .npm ফোল্ডারের অনুমতি পরিবর্তন করে।

sudo chmod -R 777 ".npm"

এটি আমার কাছে কবজির মতো কাজ করেছিল। তবে এটির সাথে সুরক্ষার ত্রুটি রয়েছে যেমন আপনার বিশ্ব প্যাকেজ ডিরেক্টরিটি সমস্ত স্তরে অ্যাক্সেসযোগ্য।


আপনি কেন বিশ্বকে এই নির্দিষ্ট ফোল্ডারে অ্যাক্সেসের অনুমতি দেবেন?
egdavid

2

প্রথমে রুট -g (গ্লোবাল) ছাড়াই ইনস্টল করুন। -G (গ্লোবাল) ব্যবহার করার চেষ্টা করার পরে এটি আমার পক্ষে কাজ করেছিল।


কাজ করছে!! ম্যাকে আমার কোড ফোল্ডারটি আমার মূল ফোল্ডারে সরিয়ে নিয়েছে: হার্ডড্রাইভ / এবং "এনপিএম ইনস্টল" নির্বিঘ্নে দৌড়েছে। তারপরে আমি আমার কোড ফোল্ডারটি যেখানে হার্ডড্রাইভ / ব্যবহারকারী / মাইউজারনেম / প্রকল্পসমূহ / কোডের ভিতরে এটি চেয়েছিলাম সেখানে ফিরিয়ে নিয়েছি, আবার "এনপিএম ইনস্টল" চালিয়েছি এবং এবার এটি কার্যকর হয়েছে।
জোশ

2

লুবুন্টু 19.10 / একই সমস্যা চলছে: $ npm start

ডাম্প: ত্রুটি: EACCES: অনুমতি অস্বীকার করা হয়েছে, '/ home/simon/xxx/pagebuilder/resources/scriptts/regifications/node_modules/.cache/@babel/register/.babel.7.4.0.de વિકાસment.json' অবজেক্টে খুলুন। fs.openSync (fs.js: 646: 18) অবজেক্ট.এফএস.উইটফাইলেসাইক (fs.js: 1299: 33) এ সেভ (/ হোম / সিমোন / এক্সএক্সএক্স / পেজ বিল্ডার / রিসোর্সস / স্ক্রিপ্ট / রেজিস্ট্রেশন / নোড_মডিউল / @ বাবেল / এ রেজিস্টার / lib / cache.js: 52: 15) _combinedTickCallback এ (অভ্যন্তরীণ / প্রক্রিয়া / পরবর্তী_টিক.জেএস: 132: 7) প্রসেসে._টিকক্যালব্যাক (অভ্যন্তরীণ / প্রক্রিয়া / পরের_টিক.জেএস: 181: 9) ফাংশন.মোডুল.আরুনমনে (মডিউল.জেএস: 696: 11) অবজেক্টে। (/home/simon/xxxx/pagebuilder/resources/scriptts/regifications/node_modules/@babel/node/lib/_babel-node.jsferences34:23) at Module._compile (মডিউল.জেএস: 653: 30) অবজেক্টে .মডিউল।

দেখে মনে হচ্ছে আমার ডিফল্ট ব্যবহারকারীর (প্রশাসক) নোড-মডিউল ডিরেক্টরিতে অধিকার নেই।

এটি আমার জন্য এটি স্থির!

$ sudo chmod a+w node_modules -R ## from project root


2

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

mkdir ~/.npm-global

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

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

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

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

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

source ~/.profile

Sudo ব্যবহার না করে বিশ্বব্যাপী প্যাকেজ ইনস্টল করার পরীক্ষা করুন, আশা করি এটি সাহায্য করবে


1

জিএনইউ / লিনাক্স (দেবিয়ান) ব্যবহারকারীদের জন্য সমাধানটি এখানে দেওয়া হয়েছে ( আপনার ব্যবহারকারীর নাম দিয়ে USERNAME প্রতিস্থাপন করুন ):

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


0

ডিস্ট ফোল্ডার সরান এবং এটি আমার সমস্যার সমাধান!


0

উইন্ডোজে এটি বন্দরটি আইআইএস দ্বারা ইতিমধ্যে ব্যবহৃত হয়েছে বলে শেষ হয়েছিল।

আইআইএস থামানো (ডান ক্লিক করুন, প্রস্থান করুন), সমস্যাটি সমাধান করেছে।


0

কেবলমাত্র node_modulesআপনার ব্যবহারকারী হিসাবে গ্লোবাল ডিরেক্টরিটির মালিককে পরিবর্তন করুন :

sudo chown -R $USER:$GROUP /usr/local/lib/node_modules

0

আমি এই পরামর্শগুলির বেশিরভাগ চেষ্টা করেছিলাম তবে সেগুলির কোনওটিই কার্যকর হয়নি। তারপরে আমি দৌড়ে এসেছি npm clean-installএবং এটি আমার সমস্যার সমাধান করেছে।


0

নোড নিম্নলিখিতটি সম্পাদন করার পরামর্শ দেয়:

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

যদি আপনি মৃত্যুদণ্ড কার্যকর করেন

npm config

আপনি এরকম কিছু দেখতে পাবেন

│                   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/venkatesh/.config │

এটা আমার জন্য কাজ করেছে।


0

আমাদের ব্যবহার করে সেই ফোল্ডারে লেখার অনুমতি দেওয়া দরকার:

sudo chmod 777 path-to-directory

এই প্রকল্পের ডিরেক্টরিতে পাথ-টু-ডিরেক্টরি ছিল (/ হোম / উবুন্টু / ব্লগ / সার্ভার)


0

আপনি নীচের মত একটি ত্রুটি পেতে যদি

Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/<PackageName>/vendor'

আপনার বিশ্ব প্যাকেজ ইনস্টল করতে আমি নীচের কমান্ডটি ব্যবহার করার পরামর্শ দিচ্ছি

sudo npm install -g <PackageName> --unsafe-perm=true --allow-root

-3

এই আদেশগুলি কার্যকর করুন এবং সমস্যার সমাধান হবে!

sudo chmod -R 777 /usr/local/bin
sudo chmod -R 777 /usr/local/lib/node_modules

/usr/localসমস্ত সাবডায়ারের জন্য এবং অনুমতিগুলি rwxr-xr-xমূলের মালিকানাধীন হতে হবে । সিস্টেমের ব্যবহারকারীরা এই দির কাঠামোর মধ্যে পড়তে এবং চালিত করতে পারেন, তবে ফাইল সম্পাদনা করতে, তৈরি করতে পারবেন না। বলা হচ্ছে, আপনার উত্তরটি প্রত্যেককে অনুমতি দেওয়ার পরামর্শ দেয়। এবং কীভাবে এবং কীভাবে প্রভাবিত হবে বা কেন সমস্যা সমাধান হবে তা বর্ণনা না করেই।
কুলিরাজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.