wake-up-neo.net

Probleme bei der Verwendung des Befehls subl im Terminal: "Befehl nicht gefunden" & "Keine solche Datei oder Verzeichnis"

Ich möchte mich im Voraus entschuldigen, dass dies eine Neulingfrage ist! Ich habe die letzten 2 Stunden damit verbracht, eine Lösung zu finden.

Ich habe zwei Probleme (ich bin mir sicher). 

Hintergrund: 

So sieht mein $ PATH aus:

/Users/Sponsi/.rvm/gems/Ruby-1.9.3-p194/bin:/Users/Sponsi/.rvm/gems/[email protected]/bin:/Users/Sponsi/.rvm/ rubies/Ruby-1.9.3-p194/bin: /Users/Sponsi/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin

Problem # 1

Ich versuche, den Befehlszeilenbefehl "subl" zu verwenden, um Sublime Text 2 unter OSX zu starten.

Ich habe den folgenden Befehl eingegeben: "ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

Es funktionierte nur zur Hälfte - wenn ich "subl" eingebe, bekomme ich "Befehl nicht gefunden". Wenn ich jedoch den Befehl erneut eingebe, wird "Bereits existiert" angezeigt.

Ich habe online gesucht und eine (etwas) Korrektur gefunden. Ich fügte meinem .bashrc folgendes hinzu:

echo 'export PATH="./bin:$PATH"' >> ~/.bashrc 
source ~/.bashrc

Der Befehl "subl" funktioniert jedoch nur vorübergehend. Wenn ich das Terminal verlasse oder zu einem anderen Verzeichnis wechsle, funktioniert es nicht mehr (bringt mich zu Problem Nr. 2, siehe unten.)

Problem # 2:

Wenn ich versuche, eine Datei unter einem anderen Verzeichnis mit dem Befehl "subl" abzurufen, bekomme ich "-bash: ./bin/subl: Keine solche Datei oder ein solches Verzeichnis". Ich habe bestätigt, dass die zu bearbeitende Datei vorhanden ist.

Übrigens, ich folge dem Ruby-Tutorial unter @ http://Ruby.railstutorial.org/Ruby-on-Rails-tutorial-book

Vielen Dank für deine Zeit!

43
Ralitza

Führen Sie jeden Befehl im Terminal aus (in dieser Reihenfolge):

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

Das sollte funktionieren!

Hinweis: Zuerst sollten Sie überprüfen, ob sich die App Ihres Sublimes in dem Ordner "Applications" befindet und der Name "Sublime Text 2" ist. Andernfalls sollten Sie den Namen im zweiten Befehl ändern und den Namen der App des Sublimes eingeben.

129
isanjosgon

wenn Sie RVM verwenden, machen Sie Folgendes:

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

Ich steckte meine in/usr/bin

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

oder für Sublime 3 oder höher

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

Es ist bereits in $ PATH

24
Rimian

Für El Captain oder später OS:

In El Capitan dürfen Sie nicht in/usr/bin schreiben, aber in/usr/local/bin schreiben ist in Ordnung. Standardmäßig sollte/usr/local/bin auch in Ihrer Pfadvariablen enthalten sein.

Für Sublime Text 3

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

Für Sublime Text 2

Sudo rm /usr/local/bin/subl
Sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
18
Rahul Arora

Ich hatte das gleiche Problem, vor kurzem auf einem neuen Mac konfiguriert. Ich hatte RVM vor oh-my-zsh und sublime Text installiert, und ich hatte die gleichen Probleme. Ich habe verschiedene Orte auf dem Weg ausprobiert

/usr/bin
/usr/local/bin

alle auf dem Weg. Was für mich funktionierte, war, die Zitate in der Befehlszeile, die als ausgeführt wurden, zu entfernen

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

Wenn Sie Sublime Text 3 verwenden, müssen Sie die Befehle in isanjosgons Antwort anpassen:

$ Sudo rm -rf /usr/local/bin/subl
$ Sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/
$ subl .
6
Naguib Ihab

Sie können auch einen neuen Alias ​​erstellen, wenn Sie möchten 

alias subl = "/ Applications/Sublime\Text.app/Contents/SharedSupport/bin/subl"

2
Pankaj Agrawal

Bearbeiten Sie Ihre ~/.bashrc-Datei so, dass sie am Ende dieser Zeile eine Zeile enthält:

export PATH="$HOME/bin:$PATH

Beachten Sie, dass ~ anstelle des . aus Ihrem Beispiel vorhanden ist. ~ bezeichnet Ihr Heimatverzeichnis, in dem sich Ihre .bashrc-Datei befindet. Der Punkt kennzeichnet das Verzeichnis current Ihres Terminalfensters.

Wenn Sie die Änderung vorgenommen haben, schließen Sie das Terminalfenster und öffnen Sie es erneut. Dann sollte subl im PATH verfügbar sein.

2
Jeremy

Könnte es sein, dass Sie in Ihrem Heimatverzeichnis kein Bin-Verzeichnis eingerichtet haben (d. H. ~/Bin)? Um dies zu überprüfen, geben Sie Folgendes ein:

cd ~/
ls -l

Wenn es kein bin-Verzeichnis gibt, geben Sie Folgendes ein:

mkdir bin

Nachdem Sie das Verzeichnis erstellt haben, geben Sie Folgendes erneut ein:

subl --help

Hoffentlich kümmert sich das um das Problem

2
Sean Crockett

Nach einer Aktualisierung von Sublime Text wurde der Pfad geringfügig geändert.

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

1
Peter Hastie
$ alias subl="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"

$ subl . Das funktioniert! : D

0
Raj

Wenn Sie das Verzeichnis geändert oder das Terminal erneut geöffnet haben, funktioniert der PATH nicht, weil .bashrc eine interaktive Datei ohne Login ist.

Verwenden Sie einfach diese Zeile im Terminal:

echo 'export PATH=$PATH:~/bin' >> ~/.bash_profile

wird das Problem wahrscheinlich lösen, da .bash_profile bei jedem Login geladen wird.

wenn Sie nicht über .bash_profile.... verfügen, bevor Sie den obigen Befehl verwenden, geben Sie Folgendes in Terminal ein:

cd ~
touch .bash_profile

verwenden Sie dann den formalen Befehl.

Ich würde normalerweise nicht usr/local/bin anfassen, da es ein Ordner auf Systemebene ist. Ich habe gehört, dass Apple kürzlich in OS X El Capitan einige Berechtigungseinschränkungen auferlegt hat ..__ Legen Sie also den Klon in Ihr Home-Verzeichnis unter/bin und fügen Sie den PATH in Ihr .bash_profile ein, dann sollte alles funktionieren.

0
itachiluan

In Linux sublime 3 in Ihr Terminal einfügen

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

Dann 

subl3 [filename]
0
Vimm Rana