Erro: EACCES: permissão negada

Eu corro npm instale lodash mas ele lança erro: eacces: permissão negada erro. Eu sei que é problema de permissão, mas tanto quanto eu sei, a permissão do sudo não é necessária para instalar o módulo de nó localmente. Se eu o executar com o sudo, ele é instalado dentro da pasta ~ / node_ modules. o drwxrwxr-x é a permissão de ficheiro da pasta existente. Não consigo perceber o que pode ter corrido mal.

Abaixo está a mensagem de erro.

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

Este comando resolve o problema. Funcionou comigo.

sudo npm install -g --unsafe-perm=true --allow-root
 93
Author: Saniya syed qureshi, 2018-09-03 09:11:17

Tenho o mesmo problema com a instalação do servidor webpack em todo o mundo, Use passos de Este Url resolveu o meu problema, o meu ser trabalha para si.

Os passos mencionados Ali: Faça backup do seu computador antes de começar.

Criar um directório para as instalações globais:

1. mkdir ~/.npm-global

Configurar o MPN para usar a nova localização da pasta:

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

Abra ou crie um ~/.ficheiro de perfil e adicionar isto linha:

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

De volta à linha de comandos, actualize as variáveis do seu sistema:

4.source ~/.profile

Teste: obter um pacote globalmente sem usar o sudo.
npm install -g jshint

Em vez dos passos 2-4, pode usar a variável ENV correspondente (por exemplo, se não quiser modificar~/.perfil):

NPM_CONFIG_PREFIX=~/.npm-global
 53
Author: Vishal Patel, 2018-04-08 05:58:35

Eu tinha problemas com o Linux. Eu escrevi

chown -R myUserName ./* </pre>

Na minha pasta do projecto.

Aviso: Este é Não a maneira certa de corrigi-lo; não execute, Se você não tem certeza de quais poderiam ser as consequências.

 17
Author: Sergey, 2021-01-12 17:02:58

A criar o pacote .json Usar npm init resolveu o meu problema.

 12
Author: xruptronics, 2016-07-12 16:24:09
Isto resolveu o meu problema imediatamente-mac Mojave 10.14.6-PhpStorm.
Erro de rejeição: permissão negada, mkdir '/Users / myname/.npm / _cacache / index-v5 / fb / 5a '
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config

Data da publicação Original: https://stackoverflow.com/a/50639828

 9
Author: ulittle, 2019-08-28 07:16:31

Não tem permissões de escrita para others (r-x). Tente com

chmod a+w <folder>
E repita.
 8
Author: Juanjo Salvador, 2016-07-12 08:54:51
Pelo que vejo nos seus registos, postou:
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',

A pasta /home/rupesh/node_modules/ não tem permissões necessárias para criar a pasta, por isso execute chown -r rupesh:rupesh /home/rupesh/node_modules/ isto deve resolvê-la.

 8
Author: AJS, 2018-09-03 03:11:21

Tente dar toda a permissão à sua pasta do projecto com o comando abaixo

sudo chmod -R 777 /yourProjectDirectoryName

Corre com

sudo npm install lodash
 7
Author: Raj Gohel, 2019-08-28 13:47:49

Eu tinha os mesmos sintomas, mas com um pacote diferente. Criar package.json e executar npm init não resolveu o meu problema.

Neste sistema, aparentemente novas pastas neste local estavam a ser criadas com permissões de raiz. Durante npm install, são criadas novas pastas. Isso fez com que o npm install falhasse em partway, mesmo com o sudo.

A solução era executar npm install app num local diferente sem máscara de raiz.

 4
Author: Courtney Schwartz, 2018-02-27 19:32:10
Resolvi este problema alterando a permissão do meu directório do MPN. Fui ao directório global do npm por mim. estava no
/home/<user-name>

Fui a este directório ao introduzir este comando

cd /home/<user-name>

E depois mudou a permissão de .pasta do MPN ao introduzir este comando.

sudo chmod -R 777 ".npm"
Funcionou como um encanto para mim. Mas há uma falha de segurança com este I. e seu diretório de pacotes globais é acessível a todos os níveis.
 4
Author: Aniruddh Agarwal, 2019-05-15 21:54:31

LUBUNTU 19. 10 / o mesmo problema em execução: $ npm start

Despejo: Erro: eacces: permission denied, open ' / home/simon / xxx/pagebuilder/resources/scripts/registration/node_ modules/.cache / @babel / register/.Babel.7.4.0.desenvolvimento.json" em protesto.fs.openSync (fs.js: 646: 18) em protesto.fs.writeFileSync (fs.js: 1299: 33) at 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) no processo._tickCallback (interno/process/next_tick.js: 181: 9) em função.Modulo.runMain (módulo.js: 696: 11) em protesto. (/home/simon/xxxx/pagebuilder/resources/scripts/registration/node_modules/@babel/node/lib/_babel-node.js: 234: 23) no módulo._compilar (módulo.js: 653: 30) em protesto.Modulo._extensao..js (módulo.js: 664: 10) no módulo.carregar (módulo.js:566:32)

Parece que o meu utilizador predefinido (administrador) não tinha direitos sobre directórios do módulo do nó.

Isto consertou-o para mim!

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

 4
Author: Simon P, 2019-11-18 01:45:41

Uma questão relacionada:

Desperdiçado 3 horas ao longo de vários dias.

Numa máquina AWS EC2, abaixo trabalhada:

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
Espero que isso ajude.
 4
Author: Manohar Reddy Poreddy, 2020-02-13 03:15:05

Primeiro instalar sem-g (global) no root. Depois de tentar usar-g (global) funcionou para mim.

 2
Author: Renjith, 2017-08-08 14:31:52

Aqui está a solução para os utilizadores do GNU / Linux (Debian) (substitua o nome de utilizador por o seu nome de utilizador):

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

 2
Author: J-Snor, 2019-10-22 18:22:41

Tenta usar isto.: Na linha de comandos, na sua pasta pessoal, crie uma pasta para instalações globais:

mkdir ~/.npm-global

Configurar o MPN para usar a nova localização da pasta:

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

No seu editor de texto preferido, abra ou crie um ~/.ficheiro do perfil e adicionar esta linha:

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

Na linha de comandos, actualize as variáveis do seu sistema:

source ~/.profile

Testar a instalação global do pacote sem usar o sudo, espero que ajude

 2
Author: AyushKatiyar, 2019-12-03 06:12:40
Tentei a maioria destas sugestões, mas nenhuma delas resultou. Depois corri e resolvi os meus problemas.
 1
Author: MoKG, 2020-08-27 01:57:51

Remova a pasta dist e isto resolve o meu problema!!

 0
Author: Hekmat, 2018-11-17 07:51:34

No Windows acabou por ser que a porta já estava em uso pelo IIS.

Parar o IIS (botão direito, Saída), resolveu o problema.

 0
Author: Atron Seige, 2020-01-21 01:38:33

Muda o dono do directório global node_modules Para ser o teu utilizador:

sudo chown -R $USER:$GROUP /usr/local/lib/node_modules
 0
Author: didil, 2020-04-16 09:32:35

O nó recomenda a execução do seguinte:

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

Se executar

npm config

Vais ver algo assim

│                   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 │
Funcionou comigo.
 0
Author: Manasvini Ganesh, 2020-08-28 06:00:12

Se tiver um erro como o abaixo

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

Sugiro usar o comando abaixo para instalar o seu pacote global

sudo npm install -g <PackageName> --unsafe-perm=true --allow-root
 0
Author: Nisharg Shah, 2020-10-27 11:17:23

Execute estes comandos e o problema será resolvido!

sudo chmod -R 777 /usr/local/bin
sudo chmod -R 777 /usr/local/lib/node_modules
 -3
Author: Nitin Jha, 2019-06-03 06:33:34