Skip to content

jowl/evm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emacs Version Manager

Why EVM?

  • Did you ever wonder how to install Emacs? Homebrew, apt-get, Emacs for OSX, Compile from scratch, etc...

  • Are you currently maintaining an Emacs package? How do you know it works? Because you have tests of course. Ok, so you know it works on your platform and with your Emacs version. But what about all other versions that people are using? Does your package work for them?

  • EVM provides pre compiled binaries to allow for quick installation on CI systems.

Platform Support

OSX

Supported!

GNU/Linux

Supported!

Windows

Not supported. Need help from someone running Windows.

Installation

EVM installs all Emacs versions under /usr/local/evm. This is not configurable and that is because EVM provides pre compiled binaries, which unfortunately must run in the directory it was compiled for.

No matter what installation approach you choose, create /usr/local/evm and give your user access rights:

$ sudo mkdir /usr/local/evm
$ sudo chown $USER:$USER /usr/local/evm

Automatic

$ curl -fsSkL https://raw.github.com/rejeep/evm/master/go | bash

Add EVM's bin directory to your PATH.

$ export PATH="~/.evm/bin:$PATH"

Homebrew

NOT ADDED YET

$ brew install evm

Ruby gem

$ gem install evm

Manual

$ git clone https://github.com/rejeep/evm.git ~/.evm

Add EVM's bin directory to your PATH.

$ export PATH="~/.evm/bin:$PATH"

Usage

In the Evm bin directory, there are two commands:

  • evm - Manage Emacs packages
  • emacs - Emacs binary for currently selected Emacs package

list

To list all available Emacs versions you can install, run:

$ evm list

The output will look something like this:

emacs-23.4
emacs-24.1 [I]
emacs-24.2
* emacs-24.3 [I]
emacs-24.3-bin [I]
...

The [I] shows what versions are currently installed and the * shows what version is currently selected.

NOTE: The versions with the -bin suffix should only to be used for testing.

install

To install a version, run:

$ evm install version

Example:

$ evm install emacs-24.3

use

To start using a specific package, run:

$ evm use name

Example:

$ evm use emacs-24.2

The Evm emacs binary will update and use that Emacs package.

uninstall

To uninstall a version, run:

$ evm uninstall emacs-24.2

bin [name]

Prints the full path to name's Emacs executable. If no name is specified, use currently selected.

$ evm bin
$ evm bin emacs-24.2

help

For more information, run:

$ evm --help

Contribution

Be sure to!

Implement the features and don't forget to test it. Run the tests with:

$ rspec spec

If all passes, send us a pull request with the changes.

About

Emacs Version Manager

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 99.1%
  • Shell 0.9%