
Estou usando um framework que roda npm
automaticamente webpack
, o diretório /usr/lib/node_modules
tem 755 permissões que exigem a execução npm
do sudo
. A estrutura que uso não permite adicionar sudo
ao comando.
Agora preciso instalar pacotes npm em formato global (por exemplo, npm install webpack -g
) sem usar sudo
.
Para quais permissões serão aceitáveis /usr/lib/node_modules
? Se eu definir permissões 777, tudo ficará bem e seguro?
Obrigado!
Responder1
Você não precisa alterarpermissãode npm
poder usá-lo sem sudo
. PARA configurar npm
para executar sem sudo
seguir estas etapas:
Opção 1:
Obtenha o caminho do diretório npm:
npm config get prefix
Se você tiver
/usr
vá para a opção 2caso contrário, altere o proprietário dos diretórios npm para o seu:sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Opção 2:
Crie um diretório para instalações globais:
mkdir ~/.npm-global
Configure para usar esse diretório:
npm config set prefix '~/.npm-global'
Abra ou crie
~/.profile
e adicione isto:export PATH=~/.npm-global/bin:$PATH
Adicione isto também ao seu
~/.bashrc
arquivo (opcional):export PATH=/home/username/.npm-global/bin:$PATH export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript:/home/username/.npm-global/lib/node_modules
Atualize os arquivos:
source ~/.bashrc
Teste executando:
npm install -g jshint
fonte:
https://docs.npmjs.com/getting-started/fixing-npm-permissions