IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[Grunt] Permission denied


Sujet :

JavaScript

  1. #1
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut [Grunt] Permission denied
    bonjour,

    j'essais de suis simplement les tutos sur grunt mais rien à faire quelque soit le tuto dès la première commande
    j'ai une erreur.
    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    $ npm install -g bower
    npm ERR! tar.unpack untar error /Users/jeanyves/.npm/bower/1.7.7/package.tgz
    npm ERR! Darwin 15.3.0
    npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "bower"
    npm ERR! node v4.2.3
    npm ERR! npm  v2.14.7
    npm ERR! path /usr/local/lib/node_modules/bower
    npm ERR! code EACCES
    npm ERR! errno -13
    npm ERR! syscall mkdir
     
    npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/bower'
    npm ERR!     at Error (native)
    npm ERR!  { [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/bower']
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    npm ERR!   syscall: 'mkdir',
    npm ERR!   path: '/usr/local/lib/node_modules/bower',
    npm ERR!   fstream_type: 'Directory',
    npm ERR!   fstream_path: '/usr/local/lib/node_modules/bower',
    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.

    serait-il impossible d'exécuter grunt sans être admin ?
    A+JYT

  2. #2
    Membre expérimenté
    Avatar de Gnuum
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 1 715
    Points
    1 715
    Billets dans le blog
    1
    Par défaut
    Ce n'est pas grunt ou bower le problème.
    C'est que tu essaies de les installer en mode global npm install -g.
    Ce qui en gros, essaie de les installer dans le répertoire d'installation de node.js dont ton utilisateur n'est pas propriétaire j'imagine (ce qui est tout à fait normal).

    2 solutions:
    • ne pas installer en mode global
    • utiliser sudo pour la commande npm install
    {gnu: ["um", "cki"]}

  3. #3
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Ok
    Grunt est un ovni pour moi et j'essais des tuto mais mise à part dire exécute ceci ou cela ce n'est pas très didactique
    Ok donc le -g signifie global.

    Merci à toi.
    A+JYT

  4. #4
    Membre expérimenté
    Avatar de Gnuum
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 1 715
    Points
    1 715
    Billets dans le blog
    1
    Par défaut
    Ok donc le -g signifie global.
    Oui, c'est bien ça!

    Si tu as le choix, avant de rentrer à fond dans Grunt, jette un coup d'oeil a Gulp.
    Bon courage!
    {gnu: ["um", "cki"]}

  5. #5
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Si Grunt cause déjà des difficultés, Gulp va donner des cauchemars

    Les task runners sont à la fois géniaux et horribles. Grunt et Gulp ont tous les deux de lourds défauts, dans leur API, leur écosystème et leurs performances. J'ai pensé me tourner vers bucaran/fly comme alternative, mais le développement s'est considérablement ralenti et on reste toujours dépendant de plug-ins spécifiques. Certains mettent en avant depuis longtemps l'usage de bons vieux scripts npm, mais c'est plus délicat à gérer pour les builds complexes et on retrouve les vieux problèmes d'interopérabilité entre Linux et Windows.

    J'ai pas vraiment trouvé de solution optimale. Je pense qu'utiliser les scripts npm pour lancer un script avec Node, qui lui utilise les Promise d'ES6 au lieu d'API propriétaires, ça pourrait marcher. Mais c'est artisanal et on ne trouvera aucun guide pour ça. Plutôt qu'un énième task runner avec son API et ses centaines de plugins, j'adorerai voir un guide pour écrire ce genre de scripts en vanilla. Certains prennent ça avec humour, voire dédain : https://gist.github.com/substack/8313379
    One Web to rule them all

  6. #6
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    L'ensemble de mon projet est géré avec Maven

    Je ne compte utiliser Grunt etc que pour le minimum.
    et maven pour faire le build.

    j'ai effectivement vu que grunt était un peu mal foutu.
    déjà mélanger les dossier de travail le code source et le résultat du build
    ça m'a fait sur sauté.
    je suis mal habitué avec maven ou il y a /src et /target

    ça laisse présagé plein de déboires.

    je continue à explorer.
    si j'arrive à quelque chose de cohérent et intéressent je ferais un petit partage.

    A+JYT

  7. #7
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par sekaijin Voir le message
    j'ai effectivement vu que grunt était un peu mal foutu.
    déjà mélanger les dossier de travail le code source et le résultat du build
    ça m'a fait sur sauté.
    je suis mal habitué avec maven ou il y a /src et /target
    Ca n'a rien à voir avec grunt par lui même, ça dépend complètement de tes taches. Rien n'empêche d'avoir la même chose que sur maven. Perso j'ai pareil que toi sauf que /target s'appelle /dist.

    Sur ton problème de droit comme le disait quelqu'un d'autre ce n'est ni un problème lié à grunt, ni à npm, c'est un problème de droit pur et simple.

    Utiliser sudo est une mauvaise idée, la solution consiste à installer node dans ton /home plutôt que dans /usr/local. L'explication détaillée.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  8. #8
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par Gnuum Voir le message
    2 solutions:
    • ne pas installer en mode global
    • utiliser sudo pour la commande npm install
    Il y a une 3ème solution qui est de loin la meilleure : Installer node dans son /home.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  9. #9
    Membre expérimenté
    Avatar de Gnuum
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 1 715
    Points
    1 715
    Billets dans le blog
    1
    Par défaut
    Il y a une 3ème solution qui est de loin la meilleure : Installer node dans son /home.
    C'est une solution intéressante effectivement. Après elle me parait très impactante pour un serveur de prod (qui reste le plus intéressant à protéger). As-tu réalisé ce genre d'installation en prod Marco et, si oui, comment t'y es tu pris (dans le lien que tu as donné, Tom précise qu'il ne l'a pas utilisé en environnement de production)?
    {gnu: ["um", "cki"]}

  10. #10
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Citation Envoyé par Gnuum Voir le message
    C'est une solution intéressante effectivement. Après elle me parait très impactante pour un serveur de prod (qui reste le plus intéressant à protéger). As-tu réalisé ce genre d'installation en prod Marco et, si oui, comment t'y es tu pris (dans le lien que tu as donné, Tom précise qu'il ne l'a pas utilisé en environnement de production)?
    Je n'ai jamais développé d'applications nodejs, je développe du front (angular), je n'ai donc besoin de npm qu'en tant que dépendance de dev et je n'ai donc nul besoin d'installer node en prod.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  11. #11
    Membre expérimenté
    Avatar de Gnuum
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 1 715
    Points
    1 715
    Billets dans le blog
    1
    Par défaut
    Ok, merci d'avoir répondu.

    Sachant que je ne pense pas que npm exécute un quelconque code (hormis le sien) et que node ne s'exécute pas en root, les problèmes de sécurité (comme celui invoqué du cheval de Troie) ne me paraissent pas forcément fondés. Vu la complexité que peut engendrer une telle installation potentiellement (pour quelqu'un qui n'est pas un spécialiste linux) et la non transposabilité simple et avérée sur un serveur de prod, je ne recommanderais pas forcément cette installation comme solution ultime à ce problème.
    {gnu: ["um", "cki"]}

  12. #12
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    pour l'install de node, npm
    j'ai trouvé une solution simple
    frontend-maven-plugin

    Il installe node et le reste dans le workspace du build.
    ça parait contre productif mais pour une usine logicielle genre jenckins ça permet de n'avoir que des projet qui ne demande pas d'intervenir sur la machine.

    dans la logique de maven on récupère le source sur le repository (svn, git, ...) et on fait un simple mvn install
    la machin n'a donc besoin que d'un JDK et de maven.
    tout le reste est dans le projet lui-même.

    A+JYT

Discussions similaires

  1. Linux error :13: Permission Denied
    Par manue85 dans le forum Oracle
    Réponses: 11
    Dernier message: 31/03/2005, 16h53
  2. Bash - Permission Denied
    Par M.Dlb dans le forum Linux
    Réponses: 3
    Dernier message: 07/12/2004, 22h42
  3. Réponses: 4
    Dernier message: 02/11/2004, 15h18
  4. permission denied
    Par HULK dans le forum Apache
    Réponses: 2
    Dernier message: 08/04/2004, 19h46
  5. [PostgreSQL]permission denied
    Par alex2205 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 13/02/2003, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo