package.el
패키지를 관리 하기 위해 + Quelpa 를 사용하는 데 오랜 시간이 걸렸지 만, 나는 총알을 깨고 내 자신의 패키지 관리자를 작성했습니다 . 거의 모든면 package.el
에서 우수한 패키지 관리 환경을 제공 하여 완전히 교체하기위한 것입니다.
매우 광범위한 문서 를 읽고 모든 기능에 대해 배울 수 있지만이 질문과 관련이있는 것은 완벽한 재현성에straight.el
중점 을 두는 것입니다 . 즉, Emacs를 정상적으로 시작하든 새 컴퓨터에서 시작하든 상관없이 로컬 변경 사항은 버전으로 제어되며 정식 상태로 되돌릴 수 있습니다. 실제로 이것은 (1) 패키지를 Git 리포지토리로 복제하고 상태를 관리하기위한 자동화 된 도구를 제공합니다. (2) init-file을 다른 곳에 저장된 변경 가능한 데이터없이 패키지 관리 상태 의 유일한 진실 소스로 사용 ; (3) 옵션 버전 잠금 파일을 사용하여 모든 패키지의 정확한 Git 개정판과 레시피 저장소 및straight.el
그 자체.
시작하려면 부트 스트랩 스 니펫을 삽입 하면 설치 및 활성화됩니다 straight.el
. 그런 다음 패키지가 설치되었는지 확인하려면 straight-use-package
init 파일에 전화 하십시오.
(straight-use-package 'projectile)
예, 그렇게 간단합니다. package-refresh-contents
그 쓰레기를 다루지 않습니다 . init 파일에서이 양식을 제거하고 Emacs를 다시 시작하면 (와는 달리 ) Projectile이 더 이상로드되지 않습니다package.el
. 이는 실수로 선언되지 않은 패키지에 의존하기 때문에 구성에 대해 걱정할 필요가 없습니다.
init 파일 전체에 걸쳐 언제 어디서나 패키지를 설치할 수 있습니다 (단일 지점에서 패키지 목록을 선언 할 필요가 없음). 물론 당신은 또한 할 수 있습니다
(dolist (package '(ace-jump-mode ... zzz-to-char)) (straight-use-package package))
당신이 목록을 선호한다면. 그러나 use-package
패키지 구성을 관리하는 데 사용 하는 것이 좋습니다 . 먼저 설치해야합니다 :
(straight-use-package 'use-package)
그런 다음 straight.el
와의 통합 기능이 내장되어 use-package
있으므로 다음과 같이 "작동합니다".
(use-package projectile
:straight t
:init (projectile-mode 1))
필요한 패키지를 설치하기 위해 init 파일을 작성한 후에 M-x straight-freeze-versions
는 버전 잠금 파일을에 저장하십시오 ~/.emacs.d/straight/versions/default.el
. 이 파일 straight.el
은 새 컴퓨터에서 Emacs를 처음 시작할 때 모든 패키지의 올바른 버전을 체크 아웃 할 수 있도록 버전 제어 상태로 유지해야 합니다. (를 사용하여 잠금 파일에 지정된 버전으로 수동으로 되돌릴 수 있습니다 M-x straight-thaw-versions
.)
내가에서 언급 한 기계 지역 dotfiles의 아이디어를 지원하기 위해 내 다른 대답을 , straight.el
제공 프로파일 시스템 . 그래도 도트 init.el
파일에 심볼릭 링크를 사용하는 것이 좋습니다 (이 경우 로컬 init 파일 (해당되는 경우), 버전 잠금 파일을 사용하려는 경우).
straight.el
다른 패키지 관리자와 비교 하는 방법이 궁금하다면 광범위한 비교 섹션을 확인 하십시오 . 그러나 다른 모든 것에 대한 더 많은 문서가 있습니다.
init.el
주위에 (예를 들어 자식을 사용),이 방법은 또한 (에 따라 작동합니다use-package
:) lunaryorn.com/posts/...