web-dev-qa-db-fra.com

Installation de l'outil de ligne de commande de Sublime Text «subl» dans le terminal, autorisation refusée?

Je suis en train d'essayer d'utiliser Sublime Text depuis le terminal, par exemple en tapant subl.

Je suis les étapes du site Web de Sublime Text:

Installer

La première tâche consiste à créer un lien symbolique vers subl. En supposant que vous avez placé Sublime Text 2 dans le dossier Applications et que vous avez un répertoire ~/bin sur votre chemin, vous pouvez exécuter:

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

Je continue de recevoir permission denied : ~/bin/subl: Permission Denied

J'ai cherché un problème similaire, mais je ne trouve pas celui qui s'applique. Quelqu'un peut-il m'orienter dans la bonne direction?

53
George Ananda Eman

Je suppose que vous n'avez pas le répertoire bin. Vous pouvez effectuer les opérations suivantes:

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

ln -s créera un alias du fichier subl dans votre répertoire bin et vous pourrez exécuter la commande.

Si cela ne fonctionne toujours pas, vous devrez modifier votre .bash_profile. Vous pouvez le faire en suivant les commandes: (REMARQUE: pour que cela fonctionne, vous devez avoir déjà effectué les étapes ci-dessus.)

  1. Ouvrez votre .bash_profile:

    cd                  // this will get you back to home directory
    vim .bash_profile   // this will open your .bash_profile file
    
  2. Modifier .bash_profile: appuyez sur I pour passer en mode "insertion" et ajoutez ce qui suit:

    export PATH=$PATH:~/bin
    
  3. Sauvegarder et quitter. Appuyez sur Echap pour passer en mode commande:

    :wq   // saves and close file
    exit  // exits terminal
    
  4. Rouvrez le terminal:

    subl --help
    

Cela devrait faire apparaître l'aide pour Sublime Text.

104
Subash

Ma préférence personnelle pour le chemin vers les liens symboliques spécifiques à une application tierce (par exemple subl, brew, github, mate, etc.) est:

/usr/local/bin

Pourquoi pas /usr/bin/?

  1. /usr/bin est un lieu "sacré". Il est généralement recommandé de stocker des binaires statiques qui sont maintenus par systèmes de gestion de paquets . subl n'est pas ce cas.

  2. subl n'est pas stable suffisamment pour être stocké dans /usr/bin avec d'autres binaires BSD de base (par exemple find, man, make, etc.). Vous devez modifier/supprimer subl le lien symbolique manuellement si (a) les développeurs de Sublime Text Editor décident de changer le nom de son application dans les futures versions (comme BBEdit Lite a été remplacé par TextWrangler après version 6.1), ou (b) vous pouvez simplement désinstaller Sublime Text Editor.


Par conséquent, je vous suggère d'exécuter la ligne suivante, en supposant que /usr/local/bin/ existe:

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

Vérifiez si "~/bin /" est inclus dans le chemin.

Une meilleure option consiste à créer le lien symbolique dans le répertoire/usr/bin à la place.

Sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/bin/subl
15
user1427458