wake-up-neo.com

Installation des Befehlszeilentools 'subl' von Sublime Text im Terminal, Berechtigung verweigert?

Ich versuche, Sublime Text vom Terminal aus zu verwenden, indem ich beispielsweise subl eingebe.

Ich folge den Schritten auf der Website von Sublime Text:

Installieren

Die erste Aufgabe besteht darin, einen Symlink zu subl zu erstellen. Angenommen, Sie haben Sublime Text 2 im Ordner "Programme" abgelegt und in Ihrem Pfad befindet sich ein Verzeichnis "~/bin", dann können Sie Folgendes ausführen:

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

Ich bekomme immer permission denied : ~/bin/subl: Permission Denied

Ich habe nach einem ähnlichen Problem gesucht, kann aber kein passendes finden. Kann mich jemand in die richtige Richtung weisen?

53

Ich gehe davon aus, dass Sie nicht das bin-Verzeichnis haben. Sie können Folgendes tun:

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

ln -s erstellt einen Alias ​​der subl-Datei in Ihrem bin-Verzeichnis und Sie können den Befehl ausführen.

Wenn dies immer noch nicht funktioniert, müssen Sie Ihr .bash_profile bearbeiten. Sie können dies mit folgenden Befehlen tun: (HINWEIS: Damit dies funktioniert, müssen Sie die obigen Schritte bereits ausgeführt haben.)

  1. Öffnen Sie Ihr .bash_profile:

    cd                  // this will get you back to home directory
    vim .bash_profile   // this will open your .bash_profile file
    
  2. Bearbeite .bash_profile: drücke I, um in den "Einfügemodus" zu gelangen und füge Folgendes hinzu:

    export PATH=$PATH:~/bin
    
  3. Speichern und schließen. Drücken Sie die Esc-Taste, um in den Befehlsmodus zu gelangen:

    :wq   // saves and close file
    exit  // exits terminal
    
  4. Öffnen Sie das Terminal erneut:

    subl --help
    

Das sollte die Hilfe für Sublime Text aufrufen.

104
Subash

Meine persönliche Präferenz für den Pfad zu den anwendungsspezifischen symbolischen Links von Drittanbietern (z. B. subl, brew, github, mate usw.) lautet:

/usr/local/bin

Warum nicht /usr/bin/?

  1. /usr/bin Ist ein "heiliger" Ort. Es wird im Allgemeinen empfohlen, statische Binärdateien zu speichern, die von Paketverwaltungssystemen verwaltet werden. subl ist nicht der Fall.

  2. subl ist nicht stable genug, um in /usr/bin Mit anderen grundlegenden BSD-Binärdateien gespeichert zu werden (z. B. find, man, make usw.). Sie müssen den symbolischen Link subl manuell ändern/löschen, wenn (a) die Entwickler von Sublime Text Editor beschließen, den Namen der App in zukünftigen Versionen zu ändern (wie BBEdit Lite wurde in TextWrangler geändert nach Version 6.1), oder (b) Sie möchten Sublime Text Editor einfach deinstallieren.


Daher schlage ich vor, dass Sie die folgende Zeile ausführen, vorausgesetzt, /usr/local/bin/ Existiert:

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

Überprüfen Sie, ob "~/bin /" im Pfad enthalten ist.

Eine bessere Möglichkeit besteht darin, stattdessen den Symlink im Verzeichnis/usr/bin zu erstellen.

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