GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Les modules de nœud ont 755 autorisations, quelles autorisations dois-je définir pour que Npm n'ait pas besoin de Sudo ?

J'utilise un framework qui exécute npm et webpack automatiquement, le répertoire /usr/lib/node_modules avoir 755 autorisations qui nécessitent d'exécuter npm via sudo . Le framework que j'utilise ne permet pas d'ajouter sudo à la commande.

Maintenant, je dois installer les packages npm sous forme globale (par exemple, npm install webpack -g ) sans utiliser sudo .

Quelles autorisations seront OK pour /usr/lib/node_modules ? Si je définis 777 autorisations, est-ce que ce sera OK et sécurisé ?

Merci !

Réponse acceptée :

Vous n'avez pas besoin de modifier l'autorisation de npm pour pouvoir l'utiliser sans sudo . POUR configurer npm pour fonctionner sans sudo suivez ces étapes :

Option 1 :

  1. Obtenir le chemin du répertoire npm :

    npm config get prefix
    
  2. Si vous avez /usr passez à l'option 2 sinon changez le propriétaire des répertoires npm pour le vôtre :

     sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
    

Option 2 :

  1. Créer un répertoire pour les installations globales :

    mkdir ~/.npm-global
    
  2. Configurez pour utiliser ce répertoire :

    npm config set prefix '~/.npm-global'
    
  3. Ouvrir ou créer ~/.profile et ajoutez ceci :

    export PATH=~/.npm-global/bin:$PATH
    
  4. Ajoutez ceci également à votre ~/.bashrc fichier (optionnel) :

    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. Actualisez les fichiers :

    source ~/.bashrc
    
  6. Testez en exécutant :

    npm install -g jshint
    

sources :

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

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


Ubuntu
  1. Sudo :/var/lib/sudo/navneet accessible en écriture par le non-propriétaire (040777), devrait être le mode 0700 ?

  2. Comment faire fonctionner Jshint ?

  3. Conflits Node.js :/sbin/node Vs /usr/bin/node ?

  4. Quelles devraient être les autorisations idéales pour le répertoire personnel sous Linux

  5. Sous quel utilisateur apache et PHP doivent-ils s'exécuter ? Quelles autorisations les fichiers /var/www doivent-ils avoir ?

Comment installer Node.js et NPM sur Ubuntu 18.04

Comment installer Node.js et Npm dans Ubuntu ?

Que fait sudo apt-get update

Installez Node.js 17 et NPM sur Debian 11 Bullseye

Comment configurer un serveur Apt-cacher ?

Qu'est-ce qu'un Homelab et pourquoi devriez-vous en avoir un ?