web-dev-qa-db-fra.com

Comment ajouter ~ / bin à mon chemin?

J'ai eu du mal à modifier mon chemin pour ajouter Sublime Text 2. J'ai ajouté un ~/bin répertoire et exécutez cette commande :

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

Le sous-lien apparaît dans ~/bin. Mais je dois ajouter le ~/bin répertoire sur mon chemin. Je suis assez nouveau dans ce domaine et je ne sais pas où est mon chemin. J'ai regardé autour de moi et découvert que les fichiers probables sont soit .profile, .bash_profile ou .bashrc

Je n'ai pas de .bash_profile. À .profile et .bashrc J'ai ajouté

PATH=$PATH:~/bin/subl
export PATH

Est-ce la bonne chose à ajouter? Et si oui, où devrais-je l'ajouter?

Quand je echo $PATH, Je reçois:

/Users/<username>/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd/bin:/Users/<username>/.rvm/gems/Ruby-1.9.3-p194@global/bin:/Users/<username>/.rvm/rubies/Ruby-1.9.3-p194/bin:/Users/<username>/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Quand je tape subl, je reçois:

-bash: subl: command not found

Merci!

p.s. J'avais précédemment installé Macports, qui modifiait mon .profile fichier. Je ne sais pas si cela a quelque chose à voir avec cela - je ne sais pas ce que le défaut .profile ressemble à.

69
Graeme

J'étais aussi novice que vous en la matière, ce qui signifie que je ne savais même pas comment lire la moitié des informations relatives à la modification de PATH. Finalement, j’ai trouvé un moyen de le faire qui ne nécessite pas que vous mettiez subl dans le fichier .rvm/bin (puisque c’est pour autre chose), mais dans son répertoire approprié, qui est ~/bin.

Allez sur votre terminal et tapez:

open -a Finder /usr/bin

Cela ouvrira votre recherche dans le répertoire/usr/bin. Une fois que vous avez ouvert un nouveau Finder, allez dans Applications, cliquez avec le bouton droit de la souris sur l’icône Texte sublime, sélectionnez Afficher le contenu du paquet, puis Contenu, Support partagé, bin. Copiez le sous-fichier et collez-le dans l'autre Finder en affichant/usr/bin

C'est ça! Vous devriez être configuré pour utiliser la commande:

subl . (or subl file.name)
88
dgamboa

Instread de tous commenté ici. Vous devez ajouter un lien symbolique pour sublimer dans /usr/local/bin. Ce ne nécessite pas un accès root. Et vous n'avez pas besoin de créer un autre répertoire bin.

Pour Sublime Text 2

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

Pour Sublime Text

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/
48
Igor A. Melekhine

Mise à jour pour zsh Pour une raison quelconque, "~/bin" dans mon chemin ne fonctionnait pas lorsque je suis récemment passé de bash à zsh/prezto. Je l'ai changé pour "/ Users/myusername/bin" et cela fonctionne encore une fois. Je vais chercher une raison et mettre à jour quand je le trouve. Veuillez commenter si vous avez une meilleure solution.

Je sais que ceci est un ancien post, mais je pensais documenter une solution pour toute autre personne essayant de suivre le instructions données par sublimetext pour utiliser sublime à partir de la ligne de commande OSX. Mise à jour pour Sublime Text 3 Documentation Sublime Text

1) Créez un répertoire appelé "bin" dans votre répertoire personnel "~ /"

mkdir ~/bin

2) Créez un lien symbolique vers votre application sublime text 2 dans le nouveau répertoire que vous venez de créer.

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

Mise à jour pour Sublime Text 3 Le chemin de l'application est légèrement différent:

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

3) Suivez les instructions de Ryan Hoffman sur la manière d'ajouter facilement au chemin sous OSX: ajoutez au chemin sous Mac OSX Ajoutez le "~/bin" nouvellement créé au chemin en utilisant sa technique. Votre fichier/etc/path ressemblera à ceci lorsque vous aurez terminé (notez ~/bin à la fin):

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
~/bin

4) Ouvrez une nouvelle fenêtre de terminal pour commencer à utiliser subl à partir de la ligne de commande.

37
Shawn

Vous n'avez pas besoin de faire PATH=$PATH:~/bin/subl. Au lieu, PATH=$PATH:~/bin est suffisant. De cette façon, vous dites à Shell d’examiner ~/bin pour les fichiers binaires. Avec votre commande, vous avez demandé au shell d’examiner le "dossier" ~/bin/subl pour les fichiers binaires, ce qui ne fonctionne pas. De plus, vous n'avez pas besoin d'ajouter les commandes dans deux fichiers. Ajoutez-les une fois dans votre .bashrc. Je ne suis pas un expert bash, mais je peux vous recommander de lire cet article de blog pour plus d'explications sur les différents fichiers de démarrage.

11
Gnosophilon

J'aimerais poser une solution alternative à ce problème. Utilisez un répertoire déjà dans votre chemin. Comme ça:

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

tl; dr

J'ai rencontré le même problème dans Yosemite (OS X 10.10) où, dans une nouvelle installation du système d'exploitation, le répertoire ~/bin n'existe pas et ne se trouve pas dans votre chemin. Pourtant, il y a déjà beaucoup de lieux utiles sur votre chemin où vous pouvez placer le lien symbolique vers Sublime.

Par exemple, voici les éléments actuellement dans mon chemin (utilisez $ echo $PATH pour obtenir une liste):

/Applications/Postgres.app/Contents/Versions/9.3/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin:/usr/local/bin
/usr/local/mysql/bin

Vous pouvez facilement modifier le script pour utiliser un emplacement déjà dans votre chemin en modifiant la partie qui dit ~/bin/subl à /usr/local/bin/subl

Ainsi, l'exécution de la commande suivante permettra d'atteindre votre objectif.

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

Vous devez d’abord créer un lien symbolique vers /usr/bin. Un lien symbolique - ou SymLink - est un alias ou un raccourci vers un répertoire. Faites comme suit:

  1. Tout d’abord, assurez-vous d’être dans votre répertoire personnel à l’aide de la ligne de commande du terminal.

    cd ~

  2. Créez un lien symbolique vers votre usr/bin répertoire.

    ln -s /usr/bin bin

    ln = créer un lien, -s = symbolique, suivi du [target diectory] et [name of link]

  3. Testez votre nouveau lien

    cd bin

    Cela devrait vous emmener à votre ~/bin - pareil que /usr/bin. Le ~ indique qu'un long chemin est caché à l'intérieur.

  4. Maintenant, retournez dans votre dossier personnel pour installer la commande subl

    cd ~

  5. Installez l'outil de ligne de commande Sublime Text 2. J'utiliserai Sudo pour contourner les blocages d'autorisations.

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

    Vous devriez être bon pour aller! Testez-le simplement en entrant subl en tant que ligne de commande et lancez Sublime Text 2 à partir de Terminal.

3
mpaiva

nous avons eu le même défi et avons fini par créer un fichier .bash_profile et y ajouter l’instruction path. A travaillé sans incident. Vous voudrez peut-être également consulter l'exemple de .bash_profile publié par Alvin Alexander ( http://alvinalexander.com/blog/post/mac-os-x/sample-mac-osx-bashrc-terminal-startup-file ) - J'ai trouvé quelques autres commandes utiles que je vais également ajouter.

2
lpaglione

Je me débattais avec ce problème récemment. J'ai réalisé que le ~ n'est pas étendu à votre répertoire personnel dans le chemin. Au moins ce n'était pas pour moi.

C'est ce que j'ai fait pour que cela fonctionne.

export PATH=$PATH:$HOME/bin

Mon subl était lié du répertoire de l'application à mon ~/bin selon certaines instructions de suivi que j'ai trouvées pour le tonneau de bière. Malheureusement, le chemin n'a jamais été mis à jour.

2
EHLOVader

Simple faites-le sur le terminal:

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

C’est là que mon Sublime est stocké. Essayez de taper le chemin d’accès à Sublime car votre version peut être différente.

subl . 

Devrait bien fonctionner.

2
cassioscabral

Voici les instructions complètes pour le faire (pour Sublime Text):

  1. Veuillez vérifier l'état de votre protection d'intégrité système à l'aide de la commande suivante:

    $ csrutil status
    

    Si cette option est activée, procédez comme suit:

    1. Démarrez sur le système d’exploitation de récupération d’OS X en redémarrant votre ordinateur et en maintenant Command + R enfoncé.

    2. Lancez Terminal depuis le menu Utilitaires.

    3. Exécutez la commande suivante:

      $ csrutil disable
      $ reboot
      

    Cela est dû à une fonctionnalité de sécurité de OS X appelée Protection de l'intégrité du système, qui protège contre les accès non autorisés aux emplacements et aux processus du système. Donc, si cette fonctionnalité est activée, vous ne pourrez pas pouvoir modifier le contenu de/usr/bin.

  2. Créez un lien symbolique de / usr/bin vers ~/bin:

    $ Sudo ln -s /usr/bin ~/bin
    
  3. Créez un lien symbolique à partir de l'outil CLI de Sublime Text 3 vers ~/bin:

    $ Sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin
    
  4. Essaye-le.

    $ subl .
    
1
Birkhoff Lee
echo $PATH

et utilisez l'un des chemins déjà dedans. Dans cet exemple, "/ usr/local/bin"

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

si le système retourne No such file or directory

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

tester si cela fonctionne

subl

C'est pour Sublime Text 3.

1
sparkbold

Il semble que dans Yosemite, la commande concerne Sublime 3, mais je me trompe peut-être:

    ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/
0
William Koplitz

ce qui suit fonctionne avec moi. J'ai la version 3 de Sublime et je la poste ici si quelqu'un cherche de l'aide:

Sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /bin/subl
0
avi