J'ai eu un petit problème avec certaines commandes récemment, ne fonctionnant pas comme prévu.
Je voulais manipuler Markdown et l'essayer pour remplacer quelques pages HTML simples. J'ai donc cherché des outils faciles à utiliser et découvert pandoc.
Je suis allé de l'avant, installé, il a réussi et j'ai ouvert Terminal.app.
Cependant, je ne peux pas exécuter ma commande en tant que utilisateur normal :
-bash: pandoc: command not found
Si je fais un man pandoc
Je suis capable de voir le manuel, donc je sais qu'il est installé.
Mais je suis capable de l'exécuter en tant que super utilisateur aka root.
Si j'essaye sudo pandoc
Je suis capable d'utiliser l'outil,
par exemple sudo pandoc -s test.mdown -o test.html
Quelle en est la raison et est-ce facile à corriger? Cela fonctionne parfaitement sur mon ordinateur portable, mais pas sur mon ordinateur de bureau.
Mon $ PATH est /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/texbin
Merci d'avance, cela brouille vraiment mon équipement.
/usr/local/bin/pandoc
pandoc
?root
utilisateur (en utilisant la commandesudo pandoc
), mais pas en tant qu'utilisateur normal. Qu'est-ce quels -l /usr/local/bin/pandoc
dire? Peut-être que seul root a les autorisations nécessaires pour exécuter le fichier? Et que se passe-t-il si vous le démarrez en tant que/usr/local/bin/pandoc
(avec le chemin complet)?ls: /usr/local/bin/pandoc: Permission denied
cela ressemble donc à des problèmes de permission. Si j'essaie de courir avec un chemin complet, je reçois-bash: /usr/local/bin/pandoc: Permission denied
Réponses:
Assurez-vous que vous avez
+x
pour/usr/local/bin
. Vous auriez unPermission denied
erreur s'il s'agissait d'un problème avec l'exécutable lui-même; tel quel, il semble y avoir un problème avec le répertoire.la source
sudo chmod +x /usr/local/bin
? EDIT: On dirait que ça marche maintenant, merci. Toute raison pour laquelle ma permission a été changée, je ne me rappelle pas avoir changé quoi que ce soit?ls -l /usr/local
. En supposantroot
possède ce répertoire, vous auriez à fairesudo chmod a+x /usr/local/bin
.pandoc ne peut probablement pas être trouvé dans le PATH pour l'utilisateur root. Si vous pouvez vous connecter en tant que root, lancez
env | grep ^PATH
la source