npm install -g less çalışmıyor: EACCES: izin verilmedi


205

Ben php üzerinde daha az kurmaya çalışıyorum böylece .less dosyaları kaydetme .css için derlemek. Düğüm.js yükledim ve sonraki adım (buna göre https://www.jetbrains.com/webstorm/help/transpiling-sass-less-and-scss-to-css.html ) bu komutu terminal

npm install -g less

Ancak bunu yaptığımda bu hataları alıyorum

  ~  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

Burada tam bir çaylağım ve bundan sonra ne yapacağımdan emin değilim. Herhangi bir yardım çok takdir edilecektir!

Yanıtlar:


356

Sudo kullanılması önerilmez. Size daha sonra izin sorunu verebilir. Yukarıdakiler çalışırken, yalnızca birden fazla kullanıcıyla ilgili bir sorun olsa da, kullanıcılar tarafından yazılabilir olmak için root'a ait klasörleri değiştirmenin bir hayranı değilim. Bu sorunu çözmek için, 'npm kullanıcıları' olan bir grup kullanabilirsiniz, ancak bu aynı zamanda daha fazla yönetim yüküdür. Belgelerdeki izinlerle başa çıkma seçenekleri için buraya bakın: https://docs.npmjs.com/getting-started/fixing-npm-permissions

Seçenek 2 için gitmek istiyorum:

İzin hatası olasılığını en aza indirmek için, npm'yi farklı bir dizin kullanacak şekilde yapılandırabilirsiniz. Bu örnekte, ana klasörünüzde gizli bir dizin olacaktır.

Global kurulumlar için bir dizin oluşturun:

 mkdir ~/.npm-global

Npm'yi yeni dizin yolunu kullanacak şekilde yapılandırın:

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

Bir ~ / .profile dosyası açın veya oluşturun ve şu satırı ekleyin:

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

Komut satırına geri döndüğünüzde, sistem değişkenlerinizi güncelleyin:

 source ~/.profile

Test: sudo kullanmadan global olarak bir paket indirin.

npm install -g jshint

Hala izin hatası gösteriliyorsa çalıştır (mac os):

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

Bu, varsayılan ubuntu yüklemesiyle çalışır:

sudo apt-get install nodejs npm

nvmSürümleri yönetmede daha fazla esneklik istiyorsanız, tavsiye ederim : https://github.com/creationix/nvm

MacOS kullanımında demleme, son bir sürümdeyseniz sudokutudan çıkmadan çalışmalıdır npm. Zevk almak :)


Heads up-- on Ubuntu 18.04 Değişiklik otomatik olarak tüm yeni terminal pencereleri uygulanmadan önce oturumu kapatıp tekrar oturum açmak zorunda kaldım.
Alexander Nied

Alexander, kaynak komutu kullandığından emin misin? Bu, doğru ortam değişkenlerini ayarlamaya dikkat etmeli, oturumu kapatmaya gerek yoktur (ancak çalışır).
Vincent Gerris

Bu $ npm install -g jshint npm ERR işe yaramadı! bitiminden sonra yaz npm ERR! Bu çalışmanın tam bir günlüğünü şu adreste bulabilirsiniz: npm ERR! /home/xx/.npm/_logs/2019-02-22T06_35_08_821Z-debug.log
Amjith

3
Bunun için Thanx "MacOS kullanım demlemek"
Bijender Singh Shekhawat

111

Bu komutları bir terminal penceresinde çalıştırın (not: $ USER kısmını değiştirmeyin ... bu bir linux komutu kullanıcısı olsun!):

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

8
Kendinizi olayların sahibi yapmak iyi bir fikir /usrmi? Başka biri düğüm işleri yüklemek isterse ne olur?
Mark

6
MacOS High Sierra benim için çalıştı, ben sadece üç komutlardan birini gerekli: sudo chown -R $USER /usr/local/lib/node_modules. @Mark Bu doğru, ama elbette sadece bir kullanıcınız varsa sorun değil.
Fabian von Ellerts

@FabianvonEllerts Sistem dosyalarını yanlışlıkla silmek hala daha kolay, çünkü artık sudo'ya ihtiyacınız olmayacak ... Yalnızken bile en iyi uygulamaları takip ederim, ama elbette size kalmış.
Mark

Bir kullanıcı (ve o zaman bile) bir kullanıcı yoksa / usr alt dizinleri sahip olmak istemiyorsanız Mark ile beraberim, bu durumda, daha iyi grubu kullanın. Ama belki daha da iyisi, cevabımda bahsettiğim gibi demlemek kullanın, kutunun dışında kök olmadan çalışır.
Vincent Gerris

12

Mac OS X Yanıtı

Node_modules dizinine yazma erişiminiz yok

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

Kullanıcılarınızı yazma erişimine sahip dizine ekleyin

  1. Node_modules içeren klasörü aç

    open / usr / local / lib /

  2. İzin iletişim kutusunu açmak için node_modules klasöründe bir cmd + I yapın
  3. Paylaşma ve izinler bölümünde okuma ve yazma erişimine sahip olmak için kullanıcı ekleyin resim açıklamasını buraya girin

MacOS için en kolay ve en verimli çözüm
itsazzad

11

İzin hatalarını önlemek için düğümü ve npm'yi Düğüm Sürümü Yöneticisi ile yeniden yükleyin ( npm belgelerinde yazıldığı gibi ):

OSX'te:

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

veya bu makaleyi takip edin:

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

Windows kullanıcıları nvm-windows yüklemelidir . Nvm'nin nasıl kurulacağı konusunda daha fazla yardım için nvm benioku dosyasına bakın .

Sonra örneğin seçin:

nvm install 8.0.0
nvm use 8.0

Şimdi başka bir deneme yapabilirsiniz:

npm install -g less

1
Bunu CodeSandbox'a paketleri yüklerken izin sorunlarını çözmek için kullandım.
Keith Taylor

8

resim açıklamasını buraya girin$ Root'a geçmek için sudo -i kullanın, ardından npm install -g xxxx komutunu yürütün


7

Mac ortamım için

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

sorunu çöz


Bunun yukarıda @ VagnerRodrigues'in cevabı kapsamında olduğunu düşünüyorum.
entpnerd

Evet, mac ortamı için daha önce bahsetmiştim
Asadut Zaman

4

Sadece aşağıdaki komutu vur:

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

Hadi yıkalım:

sudo

Bu komutu sistem süper kullanıcısı root olarak çalıştırdığımız anlamına gelir. Çünkü bu klasöre yazma iznimiz yok, ancak root herhangi bir izni düzeltebilecektir. Bu komut aynı zamanda sistemin onaylamak için parolanızı isteyeceği anlamına da gelir.

chown

bir dosyanın veya klasörün sahibini değiştirmek için kullandığımız komuttur. -R seçeneğini sahibini özyinelemeli olarak değiştirmek için ayarladık, bu nedenle zaten orada bulunan tüm dosyalara sahip erişimi de sağlıyoruz.

$ KULLANICI

kullanıcı adınıza otomatik olarak ayarlanmış bir ortam değişkenidir.

Ve son parça klasör yoludur.

Bu yolu çalıştırmak klasörü size ait yapar, böylece npm install -g komutlarınızı güvenle çalıştırabilirsiniz!


0

Önerilen tüm çözümleri denedim ama hiçbir şey işe yaramadı.

MacOS Catalina 10.15.3 kullanıyorum

/ Usr / local / adresine gidin

Bin klasörü seçin> Bilgi Al

Kullanıcınızı Paylaşım ve İzinler'e ekleyin. Okuma ve Yazma İzinleri. resim açıklamasını buraya girin

Ve terminale gidin ve npm install -g @ ionic / cli komutunu çalıştırın

Bana yardımcı oldu.


-1

Linux'ta tüm yetkilere sahip olduğunuzdan emin olun:

sudo su


-3

Merhaba Ubuntu 18 kullanıyorum ve Prisma yüklerken de bu hata mesajını aldım, sonra sadece sudoön tarafa ekliyorum

sudo npm i -g prisma
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.