Bonjour,
Voila je rencontre un petit problème avec mon code.
Salut
j'essai d'installer expo-cli avec le terminal mac mais ca me renvoi une erreur.
Ma configuration:
-os: mojave
-node: 10.16.0
-npm: 6.9.0
pouvez vous m'aidez à installer expo pour pouvoir enfin bosser avec react native parce que là ça devient compliqué avec toutes ces dépendance qui n'en finit pas
Je souhaite pouvoir installer expo-cli svp,
merci,
cordialement.
voici l'érreur:
Macintosh:~ apple$ npm install -g expo-cli
npm ERR! path /Users/apple/.npm/_cacache/index-v5/37/3f
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir '/Users/apple/.npm/_cacache/index-v5/37/3f'
npm ERR! { [Error: EACCES: permission denied, mkdir '/Users/apple/.npm/_cacache/index-v5/37/3f']
npm ERR! cause:
npm ERR! { Error: EACCES: permission denied, mkdir '/Users/apple/.npm/_cacache/index-v5/37/3f'
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/Users/apple/.npm/_cacache/index-v5/37/3f' },
npm ERR! isOperational: true,
npm ERR! stack:
npm ERR! 'Error: EACCES: permission denied, mkdir '/Users/apple/.npm/_cacache/index-v5/37/3f'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/Users/apple/.npm/_cacache/index-v5/37/3f',
npm ERR! parent: 'expo-cli' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/apple/.npm/_logs/2019-06-02T02_08_10_314Z-debug.log
Petite rectification, c'est pas la ligne de commande linux, mais unix, apple n'etant pas un systeme linux mais unix ;-)
et si le problème est résolu, ne pas oublier de selectionner une réponse pour fermer le sujet
si tu fait un npm i -g
faut le faire en sudo
, ou alors il faut que tu te donne l'acces au répertoir via la commande chown
dans ton terminal.
Merci pour ce retour,
mais j'ai oublié de préciser que j'avais déjà essayer en sudo su plus mon code perso mais ç m'a donné le même résultat si ce n'est que j'ai aussi des WARN (je pense warning)
j'ai essayer sudo npm i -g install expo-cli
toujours les même erreurs avec des warnings en plus
les warning c'est rien du tout, c'est juste pour te dire dans les dépendances il y a des trucs vieux, mais c'est pas a toi de gérer ca, donc pas de soucie de ce coté la.
tu a essayé le chown sur le dossier local npm?
teste aussi un chmod +w
sur le dossier local npm
en faisant quelque recherche sur le net (car je ne connais pas trop les lignes de commande linux), je suis arrivé à faire ça :
1ère étape : Macintosh:~ apple$ sudo chmod -R +w /usr/local/bin/npm
2 ème étape : Macintosh:~ apple$ sudo npm i -g install expo-cli
j'ai toujours les mêmes erreur et après l'installation je fait un coup de :
Macintosh:~ apple$ expo -v
résultat : command not found
Par contre quand je fait un coup de :
cd /usr/local/bin
je voit bien les dossier expo et expo-cli mais impossible de les ouvrir
même en ayant fait un coup de
1- cd /usr/local/bin
2- rm node
3- rm npm
et avoir recommencer tout à zéro l'installation de node et npm sur le site officiel (biensur la version stable de node 10.16.0 et npm 6.9.0 qui est de toute facon fournit avec node)
j'ai toujours la même erreur quand bien même j'ai rajouté le droit chmod -R +w sur /usr/local/bin et fait ces action en tant que superUtilisateur sudo su et code perso
tu a pensé a faire ca avec le flag -R
sur le chmod et le chown ? ca permet de dire que je prend le dossier et tout sont contenu
En faite en lisant la doc sur chmod que je ne connais pas j'ai vu qu'avec le paramètre -R ça donne les permissions au dossier de manière récursive et comme je n'ai pas jugé util de ne pas viser tout les dossiers enfant donc j'ai mis ce fameux -R
En tout cas j'en suis toujours au point zéro.
J'espère que je vais pas devoir apprendre la ligne de commande Linux avant de bosser avec react sinon je ne suis pas sorti de l'auberge
alors sache que tout bon dev qui se respecte doit connaitre un minimum le terminal, les tools en cli sont bon nombre et bon nombre de personne on ce genre de problème. Seule une bonne connaissance de ton terminal et de ta machine peut t'aider a comprendre le soucie.
La comme ca je ne voit qu'un problème de permission sur le dossier /Users/apple
j'ai vue plus haut que le tu a appliqué le chmod sur le dossier /local/bin
, hors c'est pas lui qui a un problème. normale que tu as toujours le problèmeil faut faire les bonne actions sur les bon dossiers. Si tu lit les messages d'erreur tu as Error: EACCES: permission denied, mkdir '/Users/apple/.npm/_cacache/index-v5/37/3f
ca veut dire que tu n'est pas autorisé sur le dossier /apple/.npm
depuis le début tu ne cible pas le bon dossier
Merci pour vos conseils,
Ça s'arrange et en même temps j'apprends la ligne de commande Linux mais vous avez raison je vais m'y mettre sérieusement à la ligne de commande linux
Par moment un bon sudo npm cache clean -f
peut s'avérer utile pour résoudre ce genre de soucis. J'ai par ailleurs moi-même essayé du chmod
en récursif et très souvent ce n'est pas suffisant. Et pour répondre à l'autre sujet, nul besoin d'être un as en ligne de commande pour faire du React mais juste connaître les plus usuelles est amplement suffisant. Nul doute que par la suite tu vas t'améliorer. Comme dit le proverbe "C'est en forgeant qu'on devient forgeron".