레이블이 package인 게시물을 표시합니다. 모든 게시물 표시
레이블이 package인 게시물을 표시합니다. 모든 게시물 표시

2019년 1월 23일 수요일

Package 설치 방법 + melpa 저장소 추가

emacs 25 버전 부터 package 관리 기능이 내장되었고 이전에 직접 emacs lisp 패키지를 다운받아 설치하고 설정하는 과정이 간단하게 바뀌었다

기본 저장소보다 melpa 저장소에 선택할 수 있는 package 들이 많아 melpa 저장소를 pakcage 저장소 목록에 추가하여 사용하고 있다

melpa 저장소




.emacs 추가


(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/") t)

(package-initialize)


Package 관리


M-x package-list-packages RET

  • i - 설치하려는 항목 선택
  • u - 선택 해제
  • d - 삭제하려는 항목 선택
  • U - upgrade 가능한 항목들 일괄 선택
  • x - 선택한 동작 일괄 실행


설치한 패키지 활성화


패키지 마다 설정 방법들이 다를 수 있으며 해당 패키지의 웹사이트에서 설정 방법이나 사용법을 숙지 할 수 있다

예) yasnippet 패키지

.eamcs 추가


(require 'yasnippet)
(yas-global-mode 1)



2018년 11월 24일 토요일

Package 설치

Emacs 24 버전 부터 emacs package 관리 기능 제공하여 손쉽게 package 를 설치하고 제거할 수 있음

Package 목록 보기


M-x package-list-packages

단축키 설명
  • i: 설치할 패키지 선택
  • d: 제거할 패키지 선택
  • u: 선택 해제
  • x: 선택한 명령 일괄 수행
  • U: 업그레이드 가능한 패키지 모두 선택

Package 제공 repository 추가


예) $HOME/.emacs 에 추가

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)



기본 ELPA repository 보다 다양한 package 를 제공하는 melpa repository 추가

팁) emacs 구동시 주로 사용하는 패키지 자동으로 설치


예)

;; install packages automatically on startup
(require 'cl-lib)
(defvar my-packages
  '(yasnippet yasnippet-snippets auto-complete web-mode virtualenvwrapper))
 

(defun my-packages-installed-p ()
  (cl-loop for p in my-packages
           when (not (package-installed-p p)) do (cl-return nil)
           finally (cl-return t)))

(unless (my-packages-installed-p)
  (package-refresh-contents)
  (dolist (p my-packages)
    (when (not (package-installed-p p))
      (package-install p))))



설명:
  • my-packages 변수: 자동으로 설치할 package 이름들 기술
  • my-packages-installed-p 함수: my-packages 목록의 package 들이 설치되었는지 확인