#1 Le 04/02/2023, à 15:54
- Francis Gernet
[Résolu] Pb de droits avec npm pour installer mermaid ou tldr
Bonjour,
Sur mon nouvel Ubuntu 22.04, j'ai voulu réinstaller deux modules nodejs : mermaid et tldr (que j'avais sur ma version 20.04).
J'ai installé nodejs et npm en suivant la procédure 2 décrite sur doc.ubuntu-fr.org (en rempaçant 18 par 19).
J'ai obtenu une installation de node 19.6.0 et de npm 9.4.0 qui ont l'air correctes.
Mais quand je lance npm install -g tldr (ou mermaid), j'obtiens une erreur :
Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/tldr
'.
J'ai bien dans /usr/lib/
drwxr-xr-x 1 root root 22 févr. 4 14:46 node_modules/
mais j'hésite à modifier les droits
En cherchant et en réinstallant, j'ai trouvé curieux l'existence d'un dossier node_modules dans /usr/lib/node_modules/npm ;
/usr/lib/node_modules/npm/node_modules
Est-ce normal ?
Dernière modification par Francis Gernet (Le 06/02/2023, à 17:40)
Francis
Hors ligne
#2 Le 04/02/2023, à 16:45
- Vobul
Re : [Résolu] Pb de droits avec npm pour installer mermaid ou tldr
Utilise --user pour que ça s'installe dans to dossier local de ton home.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#3 Le 04/02/2023, à 17:25
- Francis Gernet
Re : [Résolu] Pb de droits avec npm pour installer mermaid ou tldr
Merci Vobul,
Je n'ai pas trouvé d'option --user pour npm, mais je suis tombé sur cette solution :
francis@tito3:~$ mkdir .node_modules
francis@tito3:~$ npm config set prefix=$HOME/.node_modules
.
L'installation de mermaid et tdlr se passe alors sans encombre.
Mais il doit manquer un chemin dans la variable $PATH. Est-ce bien $HOME/.node_modules/ que je dois ajouter ?
Francis
Hors ligne
#4 Le 04/02/2023, à 17:51
- Francis Gernet
Re : [Résolu] Pb de droits avec npm pour installer mermaid ou tldr
Correction : il semble que $HOME/.node_modules/bin/ soit préférable
Francis
Hors ligne
#5 Le 04/02/2023, à 18:28
- Vobul
Re : [Résolu] Pb de droits avec npm pour installer mermaid ou tldr
Alors en fait moi dans ~/.npmrc j'ai
prefix=/home/vobul/.npm-global
//registry.npmjs.org/:_authToken=npm_blahblahbalh
Et si j'install un truc avec le flag -g il se met dans .npm-global et jamais ô grand jamais je n'utilise root pour installer des modules node ! D'ailleurs, il est de bon ton d'utiliser --ignore-scripts...
> Je n'ai pas trouvé d'option --user pour npm
En effet je confonds avec pip, mais si ton npmrc est bon, alors ça roule sans le --user.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#6 Le 06/02/2023, à 17:37
- Francis Gernet
Re : [Résolu] Pb de droits avec npm pour installer mermaid ou tldr
Merci Vobul pour tes précisions.
ô grand jamais je n'utilise root pour installer des modules node !
Bien noté !
Mon fichier ~/.npmrc ne contient que :
prefix=/home/francis/.node_modules
Mon PATH contient :
/home/francis/.node_modules/bin/:
Et tldr fonctionne parfaitement. Je n'ai pas encore testé mermaid.
Francis
Hors ligne