Zaktualizuj emacsa dostarczanego z OS X

11

Czy istnieje sposób na zaktualizowanie edytora terminali emacs dostarczanego z systemem OS X? Mogłem usunąć pliki binarne i zainstalować Emacsa za pomocą dmgpakietu, ale pomysł polegał na aktualizacji do nowszej wersji za pomocą komendy.

nbro
źródło

Odpowiedzi:

12

Apple kontroluje, kiedy / jeśli aktualizują, emacswięc większość ludzi po prostu instaluje nowszą wersję narzędzia i zmienia swoją zmienną PATH, aby nowa wersja została znaleziona jako pierwsza i domyślnie uruchomiona.

Jeśli podoba ci się ten dźwięk, polecam zainstalowanie Homebrew :

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Następnie zainstaluj emacs:

brew install emacs

Dodaj link, aby działał jak emacsw terminalu:

ln -s /usr/local/Cellar/emacs/24.5/Emacs.app /Applications

Spowoduje to zainstalowanie wersji „stabilnej”. W chwili pisania tego tekstu jest to 24,5:

» brew info emacs
emacs: stable 24.5 (bottled), devel 25.0-dev, HEAD
GNU Emacs text editor
https://www.gnu.org/software/emacs/

Jest to znacznie nowsza wersja (24.5.1) niż wersja dostarczona z El Capitan (22.1.1):

» emacs --version
GNU Emacs 22.1.1
Cofnij
źródło
Nie oznacza to jednak, że wpisanie emacsa w Terminalu spowoduje, że Apple dostarczy go jako pierwszy. Powinieneś także wyjaśnić, dlaczego używasz Homebrew zamiast binarnego emacsa i dlaczego nie możesz po prostu skopiować tego emacsa na Apple'a
użytkownik151019
2
@ Mark Ponieważ jest to znacznie wygodniejsze niż ... naprawdę cokolwiek innego. Testowanie, czy najpierw znajdzie wersję HB.
Cofnij
Po przetestowaniu jest jeszcze jedno polecenie, aby je połączyć. Edytowane, dziękuję.
Cofnij
z pewnością potrzebujesz czegoś więcej, ponieważ emacs w aplikacjach nie jest na ścieżce
151019
Pomysł nie polegał na instalacji kolejnego emacsa, ponieważ mam już aplikację .app i domyślną, a instalacja nowej byłaby śmieszna ... Naprawdę chciałem zaktualizować domyślną.
nbro
0

Można to zrobić, ale najlepiej tego nie robić. Niektóre katalogi, w tym / usr / bin, są aktualizowane i kontrolowane przez Apple, więc wszelkie zmiany zostaną usunięte, gdy system operacyjny zostanie zaktualizowany, również w El Capitan i powyżej tej ścieżki jest zablokowany przez SiP, więc musisz przejść przez więcej obręczy do chnage pliki tam.

$ ls -lO /usr/bin/emacs
-r-xr-xr-x  1 root  wheel  restricted,compressed 35581744 Jan 13 20:12 /usr/bin/emacs

Jednak w praktyce nie ma takiej potrzeby. Zainstaluj nowego emacsa w miejscach, do których masz dostęp, np. Dla wiersza poleceń w / usr / local / bin lub ~ / bin - lub wersji GUI w / Applications lub ~ / Applications. / usr / local / bin jest domyślną ścieżką, więc we wszystkich przypadkach musisz edytować ścieżkę, aby umieścić katalog zawierający emacsa przed / usr / bin.

użytkownik151019
źródło
-4

Gdy używasz polecenia napar, poprawne polecenie jest brew upgrade emacsnawet jeśli wykonałeś a brew update, instalacja zainstaluje Emacs 25, starszą wersję.

Po prostu dzielę się swoim doświadczeniem.

TimWirtjes
źródło
Czy mógłbyś bardziej szczegółowo określić swoje pytanie, co robisz, czego oczekujesz i co dostajesz.
Tony Williams
Zweryfikowane w systemie macOS 11.13.6: brew upgrade emacszakończy się niepowodzeniem, jeśli nie będzie dostępny emacs z zainstalowanym zaparzeniem, brew install emacszainstaluje najnowszą wersję (emacs-26.1_1 w tej chwili).
nohillside