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
22 answers
Este comando resolve o problema. Funcionou comigo.
sudo npm install -g --unsafe-perm=true --allow-root
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.
Teste: obter um pacote globalmente sem usar o sudo.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
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
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.
A criar o pacote .json Usar npm init resolveu o meu problema.
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
Não tem permissões de escrita para others
(r-x). Tente com
chmod a+w <folder>
E repita.
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.
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
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.
/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.
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
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.
Primeiro instalar sem-g (global) no root. Depois de tentar usar-g (global) funcionou para mim.
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
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
Remova a pasta dist e isto resolve o meu problema!!
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.
Muda o dono do directório global node_modules
Para ser o teu utilizador:
sudo chown -R $USER:$GROUP /usr/local/lib/node_modules
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.
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
Execute estes comandos e o problema será resolvido!
sudo chmod -R 777 /usr/local/bin
sudo chmod -R 777 /usr/local/lib/node_modules