Os módulos do nó têm 755 permissões. Quais permissões devo definir para que o npm não exija sudo?

Os módulos do nó têm 755 permissões. Quais permissões devo definir para que o npm não exija sudo?

Estou usando um framework que roda npmautomaticamente webpack, o diretório /usr/lib/node_modulestem 755 permissões que exigem a execução npmdo sudo. A estrutura que uso não permite adicionar sudoao 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 npmpoder usá-lo sem sudo. PARA configurar npmpara executar sem sudoseguir estas etapas:

Opção 1:

  1. Obtenha o caminho do diretório npm:

    npm config get prefix
    
  2. 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:

  1. Crie um diretório para instalações globais:

    mkdir ~/.npm-global
    
  2. Configure para usar esse diretório:

    npm config set prefix '~/.npm-global'
    
  3. Abra ou crie ~/.profilee adicione isto:

    export PATH=~/.npm-global/bin:$PATH
    
  4. Adicione isto também ao seu ~/.bashrcarquivo (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
    
  5. Atualize os arquivos:

    source ~/.bashrc
    
  6. Teste executando:

    npm install -g jshint
    

fonte:

https://docs.npmjs.com/getting-started/fixing-npm-permissions

http://www.competa.com/blog/how-to-run-npm-without-sudo/

informação relacionada