web-dev-qa-db-fra.com

La commande secondaire ne fonctionne pas - commande introuvable

Ayant beaucoup de difficulté à obtenir cette configuration. J'ai corrigé mon .bash_profile, créé le lien symbolique à l'aide de la commande suivante du site sublime:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl 

Pourtant, lorsque je saisis cette commande, je reçois:

ln: /Users/my_username/bin/subl: No such file or directory

Il semble que mon terminal cherche le mauvais emplacement pour le fichier? Pourquoi essaie-t-il de pointer sur un dossier bin de mon répertoire personnel? 

29
HectorOfTroy407

créez le lien symbolique dans /usr/local/bin au lieu de ~/bin et assurez-vous que /usr/local/binin dans PATH.

$ ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/.
$ echo $PATH

Si vous ne trouvez pas /usr/local/bin/, ajoutez les lignes suivantes à votre fichier .bashrc ou .zshrc

PATH=$PATH:/usr/local/bin/; export PATH
83
sarbbottam

Cela a résolu le problème de commande de mon terminal sublime (subl) après une longue lutte sur Yosemite voici la source

Sudo su
rm /usr/local/bin/subl
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
exit
53
Babavalibob

si vous utilisez "Sublime Text 2", essayez ceci:

$ ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

ou, si votre chemin est dans/usr/bin/à la place/usr/local/bin

$ ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/bin/subl
8
CristianP

Lancez Sublime Text à partir de la ligne de commande sous OSX

Suivre les instructions ci-dessus est ce qui a fonctionné pour moi. J'utilise Sublime Text 3 et je n'avais qu'à c + p le dessous de la cli. Je l'ai fait au niveau racine $ cd ~

Si vous utilisez Sublime Text 3 c + p dans la ligne de commande:

// Sublime Text 3
$ ln -sv "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Si vous utilisez Sublime Text 2 c + p, ce code ci-dessous dans la ligne de commande:

// Sublime Text 2
$ ln -sv "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Maintenant, testez-le pour voir si cela fonctionne

Ouvre un nouveau fichier depuis la ligne de commande:

$  subl test.rb  // it should open new file test.rb in Sublime Text

Ouvrir un dossier de projet

$ subl dir/myProject // opens a new folder inside Sublime

Lancer l'application Sublime:

$ subl // launches Sublime

Pour ouvrir l’Aide Sublime pour des options plus détaillées, utilisez:

$ subl -h // Sublime help
6
Lance Samaria

Mon problème similaire a été résolu simplement en omettant les guillemets. Donc, si vous travaillez avec:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl 

J'ai plutôt fait:

ln -s /Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl ~/bin/subl

3
Eric Levine

À ma fin, subl fonctionnait bien mais git était incapable d’y accéder. Et affichait ces erreurs

subl -n -w: subl: command not found
error: There was a problem with the editor 'subl -n -w'.

Pour Mac OS X dans le fichier ~/.gitconfig sous [core], je devais mettre ce code pour résoudre le problème de mon côté.

editor = /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl  -n -w
1
Ahmad Awais

Geez louise, c'était irritant à comprendre. J'ai essayé plusieurs combinaisons d'utilisation de Sudo et d'inclusion ou d'exclusion d'espaces de début et de fin dans le nom du paquet Sublime\Text.app.

Pour moi, ce qui a fonctionné pour créer le lien symbolique souhaité était:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Je n'ai pas eu besoin d'utiliser Sudo ou de modifier $ PATH. Pour référence, je suis sur Mac OS Mojave 10.14. echo $ PATH actuellement (et sans aucune modification de ma part) montre ce qui suit:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Vous pouvez savoir si cela a fonctionné en tapant "which subl" immédiatement après l'exécution de la commande ln ci-dessus. Si vous n'obtenez pas de ligne de sortie vous indiquant où bash a trouvé votre commande subl ... alors vous ne l'avez pas. Bonne chance!

0
Chrisantha Perera

Il pourrait y avoir un problème avec plusieurs liens symboliques vers la même cible. J'ai enlevé mon lien "subl" et mon lien "sublime" fonctionne toujours.

0
Puneet Lamba

Je vais documenter ceci car cela fonctionne sur ma machine ™ et pourrait résoudre le problème des personnes qui voient "le fichier existe déjà" lorsqu'elles exécutent la commande suggérée dans la réponse de sarbbottam. Je ne suis pas sûr de pouvoir l'expliquer complètement pour pouvoir utiliser les mauvais termes ici ou là.

Quand j'ai consciencieusement copié-collé la commande de sarbbottam, mon terminal a signalé que le fichier existait déjà. J'avais essayé de copier-coller plusieurs réponses de débordement de pile à ce problème dans mon terminal, j'avais donc des liens symboliques appelés "subl" et "sublime" dans mon/usr/local/bin: répertoire avec "ls -a". J'ai donc essayé d'ouvrir le "sous-marin" dans un éditeur de texte, et celui-ci disait que le fichier n'existait pas!

J'ai donc supprimé le lien symbolique "subl" dans/usr/local/bin, lancé la commande et cela a fonctionné. Je pense que j'en ai accidentellement fait un pour Sublime Text 2 ou quelque chose du genre, et je me suis dit que j'écraserais le dernier, ce qui n'était pas le cas.

0
brendan_d