npm install -g less لا يعمل: EACCES: تم رفض الإذن

سئل على ١٥ نوفمبر ٢٠١٥  ·  تمت مشاهدة 211.1k مرة  ·  مصدر

xslibx picture
في ١٥ نوفمبر ٢٠١٥

أحاول إعداد أقل على phpstorm حتى أتمكن من تجميع ملفات .less إلى .css عند الحفظ. لقد قمت بتثبيت node.js والخطوة التالية (وفقًا لهذا 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
└─┬ [email protected]
  ├─┬ [email protected]
  │ └── [email protected]
  ├── [email protected]
  ├── [email protected]
  ├─┬ [email protected]
  │ └── [email protected]
  └─┬ [email protected]
    └── [email protected]

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

أنا مستجد تمامًا هنا ولست متأكدًا مما يجب فعله بعد ذلك. أي مساعدة ستكون محل تقدير كبير!

الإجابات

Vincent Gerris picture
في ١ ديسمبر ٢٠١٦
394

لا ينصح باستخدام sudo. قد يمنحك الإذن في وقت لاحق. بينما يعمل ما سبق ، فأنا لست من المعجبين بتغيير المجلدات التي يمتلكها الجذر لتكون قابلة للكتابة للمستخدمين ، على الرغم من أنها قد تكون مشكلة مع عدة مستخدمين فقط. للتغلب على ذلك ، يمكنك استخدام مجموعة ، مع "npm users" ولكن هذا أيضًا يمثل عبئًا إداريًا أكبر. انظر هنا لمعرفة خيارات التعامل مع الأذونات من الوثائق: https://docs.npmjs.com/getting-started/fixing-npm-permissions

سأختار الخيار 2:

لتقليل فرصة حدوث أخطاء في الأذونات ، يمكنك تكوين npm لاستخدام دليل مختلف. في هذا المثال ، سيكون دليلاً مخفيًا في المجلد الرئيسي الخاص بك.

قم بعمل دليل للتثبيتات العالمية:

 mkdir ~/.npm-global

قم بتكوين npm لاستخدام مسار الدليل الجديد:

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

افتح أو أنشئ ملفًا ~ / .profile وأضف هذا السطر:

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

مرة أخرى على سطر الأوامر ، قم بتحديث متغيرات النظام لديك:

 source ~/.profile

اختبار: قم بتنزيل حزمة عالميًا دون استخدام sudo.

npm install -g jshint

إذا استمر عرض خطأ الإذن ، قم بتشغيل (نظام التشغيل Mac OS):

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

يعمل هذا مع تثبيت ubuntu الافتراضي لـ:

sudo apt-get install nodejs npm

أوصي بـ nvm إذا كنت تريد المزيد من المرونة في إدارة الإصدارات: https://github.com/creationix/nvm

في نظام التشغيل MacOS ، يجب أن يعمل المشروب بدون sudo خارج الصندوق إذا كنت تستخدم إصدارًا حديثًا npm . استمتع :)

Vagner Rodrigues picture
في ٢٣ نوفمبر ٢٠١٦
118

قم بتشغيل هذه الأوامر في نافذة طرفية (ملاحظة: لا تستبدل الجزء $ USER ... فهذا أمر لينكس للحصول على المستخدم الخاص بك!):

sudo chown -R $USER ~/.npm
sudo chown -R $USER /usr/lib/node_modules
sudo chown -R $USER /usr/local/lib/node_modules
Roderick Jonsson picture
في ٢٣ يونيو ٢٠١٩
21

إجابة نظام التشغيل Mac OS X

ليس لديك حق الوصول للكتابة إلى دليل node_modules

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

إضافة المستخدم الخاص بك إلى الدليل مع حق الوصول للكتابة

  1. افتح المجلد الذي يحتوي على node_modules

    فتح / usr / local / lib /

  2. قم بعمل cmd + I في مجلد node_modules لفتح مربع حوار الأذونات
  3. أضف المستخدم الخاص بك لقراءة وكتابة الوصول في قسم المشاركة والأذوناتenter image description here
gazdagergo picture
في ٦ مارس ٢٠١٨
11

أعد تثبيت node و npm باستخدام Node Version Manger (وفقًا لما هو مكتوب في وثائق npm ) لتجنب أخطاء الأذونات:

في OSX:

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/

يجب على مستخدمي Windows تثبيت nvm-windows .

ثم اختر على سبيل المثال:

nvm install 8.0.0
nvm use 8.0

الآن يمكنك تجربة أخرى:

npm install -g less
user3393929 picture
في ٤ أغسطس ٢٠١٨
9

enter image description hereاستخدم sudo -i للتبديل إلى $ root ، ثم قم بتنفيذ npm install -g xxxx

Asadut Zaman picture
في ٥ أكتوبر ٢٠١٩
8

لبيئة ماك الخاصة بي

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

حل المشكلة

Gohar SUltan picture
في ٤ أبريل ٢٠٢٠
1

لقد جربت جميع الحلول المقترحة ولكن لم ينجح شيء.

أنا أستخدم macOS Catalina 10.15.3

انتقل إلى / usr / local /

حدد مجلد bin> الحصول على معلومات

أضف المستخدم الخاص بك إلى "المشاركة والأذونات". قراءة وكتابة الأذونات.enter image description here

وانتقل إلى Terminal وقم بتشغيل npm install -g @ ionic / cli

لقد ساعدني.

Apurva Aggarwal picture
في ٧ نوفمبر ٢٠٢٠
0

sudo chown -R $ USER / usr / local / lib / node_modules هذا الأمر سيعمل

kira picture
في ٢٣ يناير ٢٠٢٠
-2

في لينكس تأكد من الحصول على كل السلطة مع:

sudo su
Jim picture
في ١٢ فبراير ٢٠٢٠
-3

خيار آخر هو تنزيل إصدار جديد وتثبيته باستخدام المثبت.

https://nodejs.org/en/download/