xuchunyang / epm

Emacs Package Manager
41 stars 7 forks source link
cli emacs emacs-lisp

Emacs Package Manager

MELPA MELPA Stable

Introduction

EPM is a command-line wrapper for package.el that serves as an Emacs Package Manager on command-line.

Requirements

Installation

ELPA

EPM is available from Melpa and Melpa-stable, you can install EPM and its dependency easily

M-x package-install RET epm RET

Since the directory package is installed to is not stable, you can setup an alias

$ alias epm='~/.emacs.d/elpa/epm-*/epm'

Manually

Install EPM's dependency epl

M-x package-install RET epl RET

Obtain EPM via git

$ git clone https://github.com/xuchunyang/epm.git

Add EPM's directory to your PATH

$ export PATH=/path/to/epm/:$PATH

Usage

Run epm --help to learn the usage, below is the ouput on my machine:

$ epm --help
epm - Emacs Package Manager

Usage:
    epm <command>
    epm [option]

Commands:
    refresh             Download package archives
    install   PACKAGE   Install a package
    reinstall PACKAGE   Reinstall a package
    list                List installed packages
    delete    PACKAGE   Delete a package
    info      PACKAGE   Display information about a package
    search    PATTERN   Search packages
    outdated            List outdated packages
    upgrade   [PACKAGE] Upgrade a outdated package (or all outdated packages)

Options:
    -h, --help          Display this message
    -v, --version       Print version info and exit

Environment Variable:
    EMACS               The command name or executable path of Emacs

Startup File:
    ~/.epm.el           The file contains code to bootstrap package.el
                        Refer to /Users/xcy/Projects/epm/.epm.el as an example

Before you can actually use EPM to do some real package management, you may need to set EMACS and add ~/.epm.el.

Sample Startup File

;; Emacs China ELPA mirror <http://elpa.emacs-china.org/> is faster in China
(setq package-archives '(("gnu"   . "http://elpa.zilongshanren.com/gnu/")
                         ("melpa" . "http://elpa.zilongshanren.com/melpa/")
                         ("org"   . "http://elpa.zilongshanren.com/org/")))

;; This is mandatory
(package-initialize)

See also .epm.el