2012-06-05 11 views
34

Chcę z góry przeprosić, że jest to pytanie dla początkujących! Spędziłem ostatnie 2 godziny próbując znaleźć rozwiązanie.Problemy z używaniem polecenia subl w terminalu: "Nie znaleziono polecenia" i "Brak takiego pliku lub katalogu"

Mam dwa problemy (jestem pewien związany).

Tło:

To co my $ PATH wygląda tak:

/Users/Sponsi/.rvm/gems/ruby-1.9.3-p194/bin:/Users/Sponsi/ .rvm/gems/ruby-1.9.3-p194 @ global/bin: /Users/Sponsi/.rvm/rubies/ruby-1.9.3-p194/bin: /Users/Sponsi/.rvm/bin:/usr/bin:/bin:/usr/bin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin

Zadanie nr 1

Próbuję użyć polecenia "subl" wiersza polecenia, aby uruchomić Sublime Text 2 na OSX.

wszedłem następujące polecenie: „ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

tylko on w połowie drogi pracował - kiedy wchodzę«subl»otrzymuję«polecenia nie znaleziono już istnieje»Ale kiedy ponownie wprowadzić komendę nad nim mówi.” .”

Szukałem w Internecie i znalazłem (nieco) przykręcić i dodaje następujące do mojego .bashrc.

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

używając polecenia« subl»działa lecz jedynie tymczasowo Gdybym wyjść terminala lub przejdź do innego katalogu to przestaje działać (doprowadzenie mnie do problemu # 2, patrz niżej).

Zadanie nr 2:

Kiedy próbuję podciągnąć plik pod innym katalogu za pomocą komendy „subl” otrzymuję „- bash: ./bin/subl: Brak takiego pliku lub katalogu "Potwierdziłem, że plik, który chcę edytować, istnieje.

BTW, mam następujący samouczek Ruby znaleziono @http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

Dziękuję bardzo za poświęcony czas!

Odpowiedz

106

Uruchom każde polecenie w terminalu (w tej kolejności):

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

To powinno działać!

Uwaga: Najpierw należy sprawdzić, czy aplikacja Twojego wzniosły jest w folderze Applications, a jego nazwa jest Sublime Text 2, jeśli nie, należy zmienić nazwę na drugiego polecenia i wpisać nazwę aplikacji Sublime za.

+0

Jedyne, co z jakiegoś powodu zadziałało dla mnie. –

+0

Dziękuję bardzo! jedyna rzecz, która zadziałała dla mnie :) – Runeony1

+0

to było dla mnie. Dzięki! –

2

edytować plik ~/.bashrc zawierać tę linię na końcu go:

export PATH="$HOME/bin:$PATH 

Zawiadomienie ~ jest tam zamiast . z Twojego przykładu? Numer ~ oznacza katalog domowy, w którym znajduje się plik .bashrc. Kropka oznacza katalog twojego okna terminala.

Po wprowadzeniu zmiany zamknij okno terminala i otwórz je ponownie. Następnie subl powinien być dostępny na ścieżce PATH.

+1

Jestem zdezorientowany. Teraz wszystko, co otrzymuję, to "Nie znaleziono polecenia". Uruchomiłem ponownie komputer, ponownie zainstalowałem Sublime Text, usunąłem i ponownie dodałem plik subl do mojego/bin i ponownie wprowadziłem wszystkie powyższe polecenia bezskutecznie. Jedyną zmianą, jakiej dokonałem na moim komputerze, było usunięcie konta użytkownika, które nie powinno mieć nic wspólnego z subl nie działającym, prawda? – Ralitza

+0

Być może użyjesz 'export PATH =" $ HOME/bin: $ PATH "zamiast tego? Najprawdopodobniej powinieneś był powiedzieć, że nie powinieneś usuwać programu i instalować go ponownie. na zewnątrz od samego programu – Jeremy

94

jeśli używasz RVM, to zrobić:

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

To zadziałało idealnie dla mnie –

+0

Działa idealnie, musi być czymś z komunikacją rvm ze ścieżką –

+0

najlepsza odpowiedź, działa idealnie – Iamsamstimpson

23

Wsadziłem kopalni w/usr/bin

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

lub dla Sublime 3 lub później

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

Jest już w $ PATH

+2

To jest najlepszy sposób, aby przejść, jeśli już posiadasz/usr/bin. Odbiera go automatycznie, bez żadnego innego wiercenia –

+5

Dla Sublime Text 3 (i później) po prostu zostaw z "\ 2". W ten sposób: 'sudo ln -s/Applications/Sublime \ Text.app/Contents/SharedSupport/bin/subl/usr/bi n' –

+1

Otrzymuję operację niedozwoloną, kiedy to robię. Jakieś pomysły? – jamesscaggs

2

Odnośnie pierwszego problemu, czy nie jest możliwe, że nie ma katalogu bin skonfigurowanego w katalogu domowym (np. ~/Bin)? Aby to sprawdzić, należy wpisać:

cd ~/ 
ls -l 

Jeśli nie ma bin wpisz następujące polecenie:

mkdir bin 

Po utworzeniu katalogu, wpisywać następujące:

subl --help 

Mam nadzieję, że dba o problem

7

Miałem ten sam problem, na ostatnio skonfigurowanym komputerze Mac. Miałem zainstalowany RVM przed oh-my-zsh i wysublimowanym tekstem, a ja miałem podobne problemy. Próbowałem różnych lokalizacji na ścieżce wszystkich z nich na ścieżce. Co pracował dla mnie było, aby pozbyć się cytatami z linii poleceń działa jako

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

To właśnie naprawiło to dla mnie. –

+0

Dokumentacja Sublime Text https://www.sublimetext.com/docs/2/osx_command_line.html zawiera cytaty dotyczące ścieżki/Applications .... Masz całkowitą rację, że wyjście z oferty jest rozwiązaniem. Aby zobaczyć ścieżkę wpisz "echo $ PATH"./usr/local/bin to najlepsze miejsce do umieszczenia dowiązania symbolicznego i powinno już być na twojej drodze. – WorkingMatt

+0

Dziękuję bardzo, to naprawiło to również dla mnie! Nie wiem dlaczego, choć ... – AndrewSouthpaw

1

Jest nieznaczna zmiana ścieżki od że w przyjętym odpowiedź po aktualizacji do Sublime Text.

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

+0

to działa dla mnie. – rikobo

0

Dlatego, że po zmianie terminalu katalogu lub ponownie otwarty następnie ścieżka nie będzie działać to, że .bashrc jest non-login interaktywny plik.

Wystarczy użyć tego wiersza w terminalu:

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

będzie prawdopodobnie rozwiąże problemu, ponieważ .bash_profile jest ładowany za każdym razem istnieje logowania.

jeśli nie masz.bash_profile, tuż przed użyciem powyższego polecenia wpisz to w Terminalu:

cd ~ 
touch .bash_profile 

następnie używać formalnego polecenia.

Nie dotknęłbym usr/local/bin zwykle, ponieważ jest to folder na poziomie systemu. Słysząc, że ostatnio w OS X El Capitan, Apple wprowadziło pewne ograniczenia uprawnień. Po prostu umieść klon w katalogu domowym w folderze/bin i dodaj ścieżkę do pliku .bash_profile, wszystko powinno działać.

13

El kapitana lub nowszym OS:

W El Capitan, nie wolno pisać do/usr/bin, ale pisząc do/usr/local/bin jest w porządku. Domyślnie katalog/usr/local/bin powinien znajdować się w zmiennej ścieżki.

Dla Sublime Text 3

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

Dla 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 
2

Można również utworzyć nowy alias jeśli chcesz jak

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

0

w Linuksie wzniosły 3, w terminalu pasty

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

Następnie

subl3 [filename] 
0
$ alias subl="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl" 

$ subl . To działa! : D

Powiązane problemy