Błąd: EACCES: permission denied

Uruchamiam npm install lodash ale rzuca błąd: EACCES: Permission denied błąd. Wiem, że jest to problem z uprawnieniami, ale o ile wiem, pozwolenie sudo nie jest wymagane do zainstalowania modułu węzła lokalnie. Jeśli uruchomię go z sudo, zostanie zainstalowany w folderze ~ / node_modules. drwxrwxr-x jest uprawnieniem pliku istniejącego folderu. Nie wiem, co mogło pójść nie tak.

Poniżej znajduje się komunikat o błędzie.

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
Author: Panda, 2016-07-12

22 answers

To polecenie rozwiązuje problem. U mnie zadziałało:

sudo npm install -g --unsafe-perm=true --allow-root
 93
Author: Saniya syed qureshi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-03 09:11:17

Mam ten sam problem z instalacją serwera webpack na całym świecie, Użyj kroków z ten Url rozwiązał mój problem, my be działa dla Ciebie.

Kroki wymienione powyżej: Zrób kopię zapasową komputera przed uruchomieniem.

Utwórz katalog dla instalacji globalnych:

1. mkdir ~/.npm-global

Skonfiguruj npm, aby używał nowej ścieżki katalogu:

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

Otwórz lub utwórz~/.plik profilu i dodaj tę linię:

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

Wróć do wiersza poleceń, zaktualizuj swoje zmienne systemowe:

4.source ~/.profile

Test: Pobierz pakiet globalnie bez użycia sudo.

npm install -g jshint

Zamiast kroków 2-4, możesz użyć odpowiedniej zmiennej ENV (np. jeśli nie chcesz modyfikować ~/.profil):

NPM_CONFIG_PREFIX=~/.npm-global
 53
Author: Vishal Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-08 05:58:35

Miałem problem na Linuksie. Napisałem

chown -R myUserName ./* </pre>

W folderze mojego projektu.

Ostrzeżenie: to jest nie właściwy sposób, aby to naprawić; nie uruchamiaj go , Jeśli nie jesteś pewien, jakie mogą być konsekwencje.

 17
Author: Sergey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-12 17:02:58

Tworzenie pakietu.json Użycie npm init rozwiązało mój problem.

 12
Author: xruptronics,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-12 16:24:09

To rozwiązało mój problem od razu-mac Mojave 10.14.6-PhpStorm.

Unhandled odrzucenie błąd: EACCES: permission denied, mkdir '/Users / myname/.npm / _cacache / index-v5/fb / 5a'

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

Original post: https://stackoverflow.com/a/50639828

 9
Author: ulittle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-08-28 07:16:31

Nie ma uprawnień do zapisu dla others (r-x). Spróbuj z

chmod a+w <folder>

I powtórz.

 8
Author: Juanjo Salvador,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-12 08:54:51

Z tego co widzę w Twoich logach napisałeś:

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',

Katalog /home/rupesh/node_modules/ nie ma uprawnień niezbędnych do utworzenia katalogu, więc uruchom {[2] } to powinno go rozwiązać.

 8
Author: AJS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-03 03:11:21

Spróbuj nadać wszystkie uprawnienia do folderu projektu za pomocą poniższego polecenia

sudo chmod -R 777 /yourProjectDirectoryName

Run with

sudo npm install lodash
 7
Author: Raj Gohel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-08-28 13:47:49

FWIW miałem te same objawy, ale z innym opakowaniem. Tworzenie package.json i uruchamianie npm initCzy Nie rozwiązało mój problem.

W tym systemie najwyraźniej tworzone były nowe foldery w tej lokalizacji z uprawnieniami roota. Podczas npm install tworzone są nowe foldery. To spowodowało, że instalacja npm nie powiodła się, nawet z sudo.

Rozwiązaniem było uruchomienie npm install app w innym miejscu bez głównej maski umask.

 4
Author: Courtney Schwartz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-27 19:32:10

Rozwiązałem ten problem zmieniając uprawnienia mojego katalogu npm. Poszedłem do npm global directory dla mnie to było w

/home/<user-name>

Przeszedłem do tego katalogu wpisując tą komendę

cd /home/<user-name>

A następnie zmienił pozwolenie na .folder npm wpisując to polecenie.

sudo chmod -R 777 ".npm"
Zadziałało jak urok. Ale jest wada bezpieczeństwa z tym tzn. Twój globalny katalog pakietów jest dostępny na wszystkich poziomach.
 4
Author: Aniruddh Agarwal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-15 21:54:31

LUBUNTU 19.10 / ten sam problem działa: $ npm start

Dump: Error: EACCES: permission denied, open ' /home/simon/xxx/pagebuilder/resources/scripts/registration/node_modules/.cache/ @ babel / register/.babel.7.4.0.rozwój.json" na obiekt.fs.openSync (fs.js:646: 18) na obiekt.fs.writeFileSync (fs.js: 1299:33) w save (/home/simon/xxx/pagebuilder/resources/scripts/registration/node_modules/@babel/register/lib / cache.js:52: 15) at _combinedTickCallback (internal / process / next_tick.js: 132: 7) w procesie._tickCallback (internal/process/next_tick.js: 181: 9) w funkcji.Moduł.runMain (modułjs:696: 11) na obiekt. (/home/simon/xxxx/pagebuilder/resources/scripts/registration/node_modules/@babel/node/lib/_babel-node.js: 234: 23) w Module._compile (moduł.js:653: 30) na obiekt.Moduł._wydarzenia..js (moduł.js:664: 10) w Module.load (moduł.js: 566: 32)

Wygląda na to, że mój domyślny użytkownik (administrator) nie miał praw do node-katalogi modułów.

To naprawiło to dla mnie!

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

 4
Author: Simon P,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-11-18 01:45:41

A related issue:

Zmarnowałem 3 godziny na kilka dni.

Na maszynie AWS EC2, poniżej pracował:

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
Mam nadzieję, że to pomoże.
 4
Author: Manohar Reddy Poreddy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-13 03:15:05

Pierwsza instalacja bez-G (global) NA roocie. Po próbie użycia -G (global) zadziałało.

 2
Author: Renjith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-08 14:31:52

Oto rozwiązanie dla użytkowników GNU / Linux (Debian) (Zamień nazwę użytkownika na nazwę użytkownika):

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

 2
Author: J-Snor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-22 18:22:41

Spróbuj użyć tego: W wierszu poleceń w katalogu domowym utwórz katalog dla instalacji globalnych:

mkdir ~/.npm-global

Skonfiguruj npm, aby używał nowej ścieżki katalogu:

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

W preferowanym edytorze tekstu otwórz lub utwórz~/.plik profilu i dodaj tę linię:

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

W wierszu poleceń zaktualizuj swoje zmienne systemowe:

source ~/.profile

Przetestuj instalację pakietu globalnie bez używania sudo, mam nadzieję, że to pomoże

 2
Author: AyushKatiyar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-03 06:12:40

Próbowałem większości z tych sugestii, ale żadna z nich nie zadziałała. Potem uciekłem npm clean-install i to rozwiązało moje problemy.

 1
Author: MoKG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-27 01:57:51

Usuń folder dist i to rozwiąże mój problem!!

 0
Author: Hekmat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-17 07:51:34

W Windows okazało się, że port był już używany przez IIS.

Zatrzymanie IIS (kliknięcie prawym przyciskiem myszy, wyjście), rozwiązało problem.

 0
Author: Atron Seige,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-21 01:38:33

Po prostu zmień właściciela globalnego katalogu node_modules na swojego użytkownika:

sudo chown -R $USER:$GROUP /usr/local/lib/node_modules
 0
Author: didil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-16 09:32:35

Node zaleca wykonanie następujących czynności:

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

Jeśli wykonasz

npm config

Zobaczysz coś takiego

│                   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 │
U mnie zadziałało.
 0
Author: Manasvini Ganesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-28 06:00:12

Jeśli pojawi się błąd jak poniżej

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

Sugeruję użycie poniższego polecenia do zainstalowania globalnego pakietu

sudo npm install -g <PackageName> --unsafe-perm=true --allow-root
 0
Author: Nisharg Shah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-27 11:17:23

Wykonaj te polecenia i problem zostanie rozwiązany!

sudo chmod -R 777 /usr/local/bin
sudo chmod -R 777 /usr/local/lib/node_modules
 -3
Author: Nitin Jha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-06-03 06:33:34