use-package
패키지를 설치하고 구성 하는 데 사용하고 있습니다 (이 패키지는 대부분 melpa에 있습니다). 이러한 모든 패키지를 최신 상태로 유지하는 깔끔한 자동화 된 방법이 있습니까?
그렇지 않은 경우이 경우 가장 좋은 작업 흐름은 무엇입니까?
참고 : 여기 에 답변이있는 매우 유사한 질문 이지만 "업데이트 설치를 처리해야합니다"에 대한 설명을 원했습니다. 평판이 충분하지 않아 설명에 대한 답변에 대해 언급 할 수 없었습니다.
use-package
패키지를 설치하고 구성 하는 데 사용하고 있습니다 (이 패키지는 대부분 melpa에 있습니다). 이러한 모든 패키지를 최신 상태로 유지하는 깔끔한 자동화 된 방법이 있습니까?
그렇지 않은 경우이 경우 가장 좋은 작업 흐름은 무엇입니까?
참고 : 여기 에 답변이있는 매우 유사한 질문 이지만 "업데이트 설치를 처리해야합니다"에 대한 설명을 원했습니다. 평판이 충분하지 않아 설명에 대한 답변에 대해 언급 할 수 없었습니다.
답변:
나는 이것을 수동으로 수행합니다 : 사용 가능한 업그레이드를 표시하기 위해 list-packages
히트 U
를 실행 한 다음 검토하고 싶지 않은 항목이 있는지 확인하십시오. 그런 다음 x
업그레이드하십시오. 나는 이것을 꽤 정기적으로하고 종종 새로운 것을 동시에 확인합니다. 이것을 단순화하기 위해 몇 가지 조정이 있습니다 (아래 참조).
업그레이드가 자동화 된 것으로 생각되지만 업데이트로 인해 문제가 발생하는 경우를 고려하여 업데이트 한 후 자동화 된 업데이터가 다시 설치되지 않도록해야합니다.
일부 패키지 메뉴 조정 :
(defun package-menu-find-marks ()
"Find packages marked for action in *Packages*."
(interactive)
(occur "^[A-Z]"))
;; Only in Emacs 25.1+
(defun package-menu-filter-by-status (status)
"Filter the *Packages* buffer by status."
(interactive
(list (completing-read
"Status: " '("new" "installed" "dependency" "obsolete"))))
(package-menu-filter (concat "status:" status)))
(define-key package-menu-mode-map "s" #'package-menu-filter-by-status)
(define-key package-menu-mode-map "a" #'package-menu-find-marks)
이를 통해 s new
새로 사용할 수있는 패키지를 확인할 수 있습니다. 그리고 U
업그레이드를 표시하기 위해 타격 을 한 후에 a
나는 변경된 것들에 대한 세부 사항을 파고 싶을 때 표시 된 것들의 버퍼 목록을 칠 수 있습니다 .
package-menu-filter
명령이 25.1의 새로운 기능이므로 해당 명령이 작동하지 않습니다.
auto-package-update
패키지를 자동으로 업데이트 하는 데 사용할 수 있습니다 .
내 다른 게시물에서 복사했습니다 ( /emacs//a/31903/9972 )
(use-package auto-package-update
:ensure t
:config
(setq auto-package-update-delete-old-versions t
auto-package-update-interval 4)
(auto-package-update-maybe))
해당 설정을 사용하면 패키지가 매일 업데이트되고 4
이전 패키지가 제거됩니다.
epm
업데이트 프로세스를 깨끗하게 유지 하십시오 .
cf. https://github.com/xuchunyang/epm
일반적인 init.el 설정을로드하지 않고 emacs 배치 프로세스 내에서 업데이트 프로세스를 실행할 수 있습니다.
패키지 관리 명령을 확장하는 paradox라는 패키지를 강력히 권장합니다. https://github.com/Malabarba/paradox 에서 자세히 알아 보십시오.
(use-package paradox
:init
(setq paradox-github-token t)
(setq paradox-execute-asynchronously t)
(setq paradox-automatically-star t))
이 설정은 별도로 설정된 github 토큰을 사용하여 패키지 사용 통계를 시스템에 다시 공급하고 paradox-upgrade-packages선택한 키에 바인딩 된 명령을 수동으로 실행할 때 백그라운드에서 패키지를 업데이트합니다 .
변수 paradox-github-token설정 방법 에 대한 변수의 인라인 문서를 읽으십시오 .
a
표시된 패키지를 찾기 위해 일했습니다. 그러나s installed
나머지 세 가지 상태 중 하나라도 빈 목록을 반환합니다.