এনপিএম ইনস্টল -g কম কাজ করে না: EACCES: অনুমতি অস্বীকার করেছে


202

আমি পিএইচপিস্টর্মে কম সেট আপ করার চেষ্টা করছি যাতে আমি সংরক্ষণে .css ফাইলবিহীন ফাইলগুলি সংকলন করতে পারি। আমি নোড.জেএস ইনস্টল করেছি এবং পরবর্তী পদক্ষেপ (এই https://www.jetbrains.com/webstorm/help/transpiling-sass-less-and-scss-to-css.html অনুসারে ) এই কমান্ডটি চালাচ্ছে প্রান্তিক

npm install -g less

তবে আমি যখন এটি করি তখন আমি এই ত্রুটিগুলি পাই

  ~  npm install -g less
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/mkdirp/0.5.1'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/graceful-fs/3.0.8'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/extend/3.0.0'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/readable-stream/2.0.4'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/chalk/1.1.1'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/xtend/4.0.1'
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
/usr/local/lib
└─┬ less@2.5.3
  ├─┬ errno@0.1.4
   └── prr@0.0.0
  ├── image-size@0.3.5
  ├── mime@1.3.4
  ├─┬ promise@6.1.0
   └── asap@1.0.0
  └─┬ source-map@0.4.4
    └── amdefine@1.0.0

npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "less"
npm ERR! node v5.0.0
npm ERR! npm  v3.3.6
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access

npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }
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!     /Users/brentscholl/npm-debug.log

আমি এখানে একটি সম্পূর্ণ নুব এবং পরবর্তী কী করব তা নিশ্চিত নই। কোন সাহায্য খুব প্রশংসা হবে!

উত্তর:


353

Sudo ব্যবহার করার পরামর্শ দেওয়া হয় না। এটি আপনাকে পরে অনুমতি ইস্যু দিতে পারে। উপরের কাজগুলি চলাকালীন, আমি ব্যবহারকারীর জন্য লিখিতযোগ্য হওয়ার জন্য মূলের মালিকানাধীন ফোল্ডারগুলি পরিবর্তন করার অনুরাগী নই, যদিও এটি কেবল একাধিক ব্যবহারকারীরই সমস্যা হতে পারে। এর আশেপাশে কাজ করতে আপনি 'এনপিএম ব্যবহারকারী' সহ একটি গোষ্ঠী ব্যবহার করতে পারেন তবে এটি প্রশাসনিক ওভারহেডেরও বেশি। ডকুমেন্টেশন থেকে অনুমতি নিয়ে কাজ করার বিকল্পগুলির জন্য এখানে দেখুন: https://docs.npmjs.com/getting-started/fixing-npm-perifications

আমি বিকল্প 2 জন্য যেতে হবে:

অনুমতি ত্রুটির সম্ভাবনা হ্রাস করতে, আপনি আলাদা ডিরেক্টরি ব্যবহার করতে এনপিএম কনফিগার করতে পারেন। এই উদাহরণে, এটি আপনার হোম ফোল্ডারে একটি গোপন ডিরেক্টরি হবে directory

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

 mkdir ~/.npm-global

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

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

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

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

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

 source ~/.profile

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

npm install -g jshint

যদি এখনও অনুমতি ত্রুটি রান চালায় (ম্যাক ওএস):

sudo chown -R $USER ~/.npm-global   

এটি এর ডিফল্ট উবুন্টু ইনস্টলের সাথে কাজ করে:

sudo apt-get install nodejs npm

nvmআপনি যদি সংস্করণগুলি পরিচালনা করতে আরও নমনীয়তা চান তবে আমি প্রস্তাব দিই : https://github.com/creationix/nvm

MacOS ব্যবহারের ক্ষেত্রে, sudoআপনি যদি কোনও সাম্প্রতিক npmসংস্করণে থাকেন তবে বক্সের বাইরে এটি কাজ করা উচিত । উপভোগ করুন :)


মাথা উঁচু করে - উবুন্টু 18.04 এ পরিবর্তনটি স্বয়ংক্রিয়ভাবে খুব বেশি নতুন সমস্ত টার্মিনাল উইন্ডো প্রয়োগ হওয়ার আগে আমাকে লগ আউট করতে এবং লগ ইন করতে হয়েছিল।
আলেকজান্ডার নিড

আলেকজান্ডার, আপনি কি নিশ্চিত করেছেন যে আপনি সোর্স কমান্ডটি ব্যবহার করেছেন? এটি সঠিক পরিবেশের ভেরিয়েবলগুলি সেট করার ক্ষেত্রে যত্ন নেওয়া উচিত, লগ আউট করার প্রয়োজন হবে না (তবে কাজ করে)।
ভিনসেন্ট জেরিস

এটি কাজ করে না $ npm ইনস্টল -g jshint এনপিএম ইআরআর! শেষ এনপিআর ইআরআর পরে লিখুন! এই রানের একটি সম্পূর্ণ লগ পাওয়া যাবে: এনপিএম ইআরআর! /home/xx/.npm/_logs/2019-02-22T06_35_08_821Z-debug.log
আমজিথ

3
এই "অন ম্যাকওএস ব্যবহার করুন"
বিজেন্দ্র সিং শেখাওয়াত

110

টার্মিনাল উইন্ডোতে এই কমান্ডগুলি চালনা করুন (দ্রষ্টব্য: $ USER অংশটি প্রতিস্থাপন করবেন না ... আপনার ব্যবহারকারীকে পেতে একটি লিনাক্স কমান্ড চাপায়!):

sudo chown -R $USER ~/.npm
sudo chown -R $USER /usr/lib/node_modules
sudo chown -R $USER /usr/local/lib/node_modules

7
নিজেকে কী নিজেকে জিনিসের মালিক বানানো ভাল ধারণা /usr? যদি অন্য কেউ নোড স্টাফ ইনস্টল করতে চান?
চিহ্নিত করুন

6
MacOS উচ্চ সিয়েরা উপর আমার জন্য কাজ, আমি মাত্র তিন কমান্ড এক প্রয়োজন: sudo chown -R $USER /usr/local/lib/node_modules। @ মার্ক এটি সত্য, তবে আপনার যদি কেবলমাত্র একজন ব্যবহারকারী থাকেন তবে অবশ্যই সমস্যা নেই।
ফ্যাবিয়ান ভন এলার্টস

@ ফ্যাবিভনএলার্টস ওয়েল, দুর্ঘটনাক্রমে সিস্টেম ফাইলগুলি মুছে ফেলা সহজ, যেহেতু আপনার আর সুডোর প্রয়োজন হবে না ... আমি একা থাকাকালীন কেবল সেরা অভ্যাসগুলি অনুসরণ করতাম তবে অবশ্যই এটি আপনার বিষয়।
চিহ্নিত করুন

আমি মার্কের সাথে আছি, যদি না আপনার একটি ব্যবহারকারী থাকে (এবং তারপরেও) আপনার / usr সাব ডিরেক্টরিগুলি একটি ব্যবহারকারীর মালিকানাধীন থাকতে না চান, সেক্ষেত্রে গ্রুপটি আরও ভালভাবে ব্যবহার করুন। তবে সম্ভবত আরও ভাল, আমি আমার উত্তরে যেমন উল্লেখ করেছি ঠিক তেমনই ব্রু ব্যবহার করুন, এটি বাক্সটি ছাড়িয়ে ছাড়াই কাজ করবে।
ভিনসেন্ট জেরিস

11

অনুমতি ত্রুটিগুলি এড়াতে নোড এবং এনপিএম নোড সংস্করণ ম্যানেজার ( এনপিএম ডকুমেন্টেশনে লিখিত অনুযায়ী ) দিয়ে পুনরায় ইনস্টল করুন :

ওএসএক্সে:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

বা এই নিবন্ধটি অনুসরণ করুন:

http://dev.topheman.com/install-nvm-with-homebrew-to-use-multiple-versions-of-node-and-iojs-easily/

উইন্ডোজ ব্যবহারকারীদের এনভিএম-উইন্ডোজ ইনস্টল করা উচিত । আরও সাহায্যের জন্য কিভাবে nvm পড়ুন ইনস্টল করতে nvm রিডমি

তারপরে উদাহরণস্বরূপ চয়ন করুন:

nvm install 8.0.0
nvm use 8.0

এখন আপনি আবার চেষ্টা করতে পারেন:

npm install -g less

1
আমি কোডস্যান্ডবক্সে প্যাকেজ ইনস্টল করার অনুমতি সংক্রান্ত সমস্যার সমাধান করতে এটি ব্যবহার করেছি।
কীথ টেলর

11

ম্যাক ওএস এক্স উত্তর

নোড_মডিউল ডিরেক্টরিতে আপনার লেখার অ্যাক্সেস নেই

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules

আপনার ব্যবহারকারীকে লেখার অ্যাক্সেসের সাথে ডিরেক্টরিতে যুক্ত করুন

  1. নোড_মডিউলগুলিযুক্ত ফোল্ডার খুলুন

    খুলুন / usr / স্থানীয় / lib /

  2. অনুমতি ডায়ালগটি খোলার জন্য নোড_মডিউলগুলি ফোল্ডারে একটি সেন্টিমিডি + আই করুন
  3. ভাগ এবং অনুমতি বিভাগে অ্যাক্সেস পড়তে এবং লিখতে আপনার ব্যবহারকারীকে যুক্ত করুন এখানে চিত্র বর্ণনা লিখুন

ম্যাকওএসের জন্য সবচেয়ে সহজ এবং সর্বাধিক কার্যকর সমাধান

8

এখানে চিত্র বর্ণনা লিখুন$ রুটে স্যুইচ করতে sudo -i ব্যবহার করুন, তারপরে এনপিএম ইনস্টল-জি এক্সএক্সএক্সএক্সএক্স এক্সিকিউট করুন


7

আমার ম্যাক পরিবেশের জন্য

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

সমস্যাটি সমাধান করুন


আমি বিশ্বাস করি এটি ইতিমধ্যে উপরের @ ভ্যাগনাররোডরিগসের উত্তরে isাকা রয়েছে।
এনটনার্ড

হ্যাঁ এটি হ'ল, আমি সবেমাত্র ম্যাক পরিবেশের জন্য উল্লেখ করেছি
আসাদুত জামান

3

কমান্ডের নীচে কেবল হিট করুন:

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

আসুন এটি ভেঙে দিন:

উবুন্টু

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

chown

ফাইল বা ফোল্ডারের মালিক পরিবর্তন করতে আমরা যে কমান্ডটি ব্যবহার করি তা হ'ল। মালিককে পুনরাবৃত্তভাবে পরিবর্তন করার জন্য আমরা -আর বিকল্পটি সেট করেছি, সুতরাং ইতিমধ্যে থাকা সমস্ত ফাইলগুলিতে আমরা মালিকের অ্যাক্সেসও পাব।

$ USER এর

একটি পরিবেশের পরিবর্তনশীল হ'ল স্বয়ংক্রিয়ভাবে আপনার ব্যবহারকারী নামটিতে সেট to

এবং চূড়ান্ত টুকরা হ'ল ফোল্ডারের পথ।

এই পাথটি চালানো ফোল্ডারটি আপনার হয়ে যাবে, যাতে আপনি নিরাপদে আপনার এনপিএম ইনস্টল-জি কমান্ডগুলি চালাতে পারেন!


0

আমি প্রস্তাবিত সমস্ত সমাধান চেষ্টা করেছি কিন্তু কিছুই কার্যকর হয়নি।

আমি ম্যাকোস ক্যাটালিনা 10.15.3 ব্যবহার করছি

/ Usr / স্থানীয় / এ যান

বিন ফোল্ডার> তথ্য পান নির্বাচন করুন

আপনার ব্যবহারকারীকে ভাগ করে নেওয়া এবং অনুমতিগুলিতে যুক্ত করুন। পড়ুন এবং অনুমতি লিখুন। এখানে চিত্র বর্ণনা লিখুন

এবং টার্মিনালে যান এবং এনপিএম ইনস্টল -g @ আয়নিক / ক্লিপ চালান

এটা আমাকে সাহায্য করেছে।


-1

লিনাক্সে নিশ্চিত হয়ে নিন যে সমস্ত কর্তৃপক্ষের সাথে এটি পাওয়া যায়:

sudo su


-3

হাই আমি উবুন্টু 18 ব্যবহার করছি এবং প্রিজমা ইনস্টল করার সময় আমারও এই ত্রুটি বার্তাটি পেয়েছিল, তবে আমি কেবল sudoসামনেই যুক্ত করব

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