macOS에서 Emacs 30 설치 및 실행 오류 해결하기

Emacs // 2025년 02월 26일 작성

어느덧 Emacs가 30 버전을 넘어서 30.1 버전까지 나왔다. 하지만 개인적으로 사용하던 Emacs는 아직도 Homebrew를 통해 emacs-plus 패키지 형태로 설치한 29 버전대였다. 뭔가 뒤쳐지는 느낌이 나서 최신 버전을 설치해 보기로 했다. 그리고 그 과정에서 오류도 겪었기에 이를 해결하는 방법도 간단히 정리해 본다.

참고로 이 글을 쓰는 시점에서 macOS는 macOS Sequoia 15.3.1이다.

Homebrew로 Emacs 30 설치하기

macOS에서 Homebrew로 Emacs를 설치할 때는 emacs-plus 패키지를 설치하는 것이 그나마 간단한 것 같다.

Emacs의 최신 안정 버전이 30 버전대임에도 불구하고 머신의 Emacs 29 버전이 업그레이드가 안 되길래 확인해보니 버전을 지정하지 않으면 emacs-plus@29 formulae로 설치되기 때문에 그랬던 것 같다. 최근엔 바뀌었을 지도 모르겠지만 혹시나 Homebrew로 emacs-plus를 설치했는데 30 미만의 버전이 설치된다면 아래와 같이 강제로 버전을 지정해 주자.

$ brew install emacs-plus@30

상황에 따라 빌드에 시간이 필요할 수도 있으니 적절히 대응하자.

설치가 끝나면 메시지로 표시가 되겠지만, 파인더에서 액세스 할 수 있게 앱 바로가기를 Applications에 등록할 때는 아래 커맨드를 추가로 입력해 줘야 한다. 추후 상황이나 버전에 따라 커맨드가 좀 달라질 수도 있으니 정확한 것은 메시지를 잘 확인하자.

$ osascript -e 'tell application "Finder" to make alias file to posix file "/usr/local/opt/emacs-plus@30/Emacs.app" at posix file "/Applications" with properties {name:"Emacs.app"}'

이제 터미널에서 open 커맨드로 실행시키거나 파인더에서 Applications를 열어서 Emacs.app을 실행시키면 돌아가야 한다. 돌아가야 정상일 텐데....

그런데 실행이 안 된다

emacs-plus@29 때에도 비슷하지만 다른 문제가 있었는데 emacs-plus@30에도 파인더에서 바로 실행이 안 되는 문제가 발생했다. 다만 오류 내용이 달랐는데 이번에는 아래와 같은 오류가 발생했다. 참고로 $ 표시는 셸 프롬프트이니 오해하지 말자.

$ open -a Emacs
_LSOpenURLsWithCompletionHandler() failed for the application /usr/local/Cellar/emacs-plus@30/30.1/Emacs.app with error -54.

이런저런 구글링을 하다 보니 다행히도 이것과 비슷한 문제에 대한 해답을 찾을 수 있었다. 개인적인 경우 아래의 한 줄의 커맨드가 해답이 되었다.

$ sudo codesign --force --deep --sign - /usr/local/opt/emacs-plus@30/Emacs.app

sudo 커맨드이기 때문에 사용자 패스워드를 물어온다. 이 커맨드를 실행한 이후 Emacs.app이 정상적으로 실행되고 Dock에도 잘 올라갔다.

Emacs 29 버전대에서 문제가 터진 후 참으로 오랜만에 Dock에 Emacs 아이콘을 올려놓고 쓸 수가 있게 되어서 살짝 감격했다.

여담

위 오류 해결 커맨드는 관련된 스레드📎에서 찾은 것이다. 여기에서는 여러 이야기가 오간다. 혹시 위의 커맨드로 해결이 안 된다면 스레드를 참고해보자. 몇몇 다른 옵션이나 퍼미션 관련 힌트도 있으니 시도해 볼 가치는 있을 것 같다. 개인적인 경우는 위 커맨드 만으로 해결이 되긴 했지만 말이다.

그 외에 비슷한 여러 질문을 볼 수 있었다. 예를 들어 PostgreSQL을 설치했는데 비슷한 오류가 발생하면 pgadmin을 새로 설치하니 해결되었다는 등등 말이다. 물론 원인은 좀 다른 것 같긴 하다.