Ответы:
Apple контролирует, когда / если они обновляются, emacs
поэтому большинство людей просто устанавливают более новую версию инструмента и изменяют переменную PATH, чтобы новая версия была найдена первой и работала по умолчанию.
Если вам нравится этот звук, я рекомендую установить Homebrew :
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Затем установите Emacs:
brew install emacs
Добавьте ссылку, чтобы она работала как emacs
в Терминале:
ln -s /usr/local/Cellar/emacs/24.5/Emacs.app /Applications
Это установит «стабильную» версию. На момент написания статьи это 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/
Это значительно новее (24.5.1), чем версия, поставляемая с El Capitan (22.1.1):
» emacs --version
GNU Emacs 22.1.1
Это можно сделать, но лучше не делать этого. Некоторые каталоги, в том числе / usr / bin, обновляются и контролируются Apple, поэтому любые изменения там будут удаляться при обновлении ОС, также в El Capitan и выше этого пути заблокированы SiP, и поэтому вам придется пройти через несколько циклов в chnage файлы там.
$ ls -lO /usr/bin/emacs
-r-xr-xr-x 1 root wheel restricted,compressed 35581744 Jan 13 20:12 /usr/bin/emacs
Однако на практике в этом нет необходимости. Установите новый emacs в местах, к которым у вас есть доступ, например, для командной строки в / usr / local / bin или ~ / bin - или в версиях GUI в / Applications или ~ / Applications. / usr / local / bin - это путь по умолчанию, поэтому во всех случаях вам нужно отредактировать путь, чтобы поместить каталог, содержащий emacs, перед / usr / bin.
При использовании команды brew правильная команда, brew upgrade emacs
даже если вы сделали a brew update
, при установке будет установлена Emacs 25, более старая версия.
Просто делюсь своим опытом.
brew upgrade emacs
потерпит неудачу, если emacs не имеет установленной brew install emacs
версии brew, установит самую последнюю версию (прямо сейчас emacs-26.1_1).