{"id":13648477,"url":"https://github.com/rejeep/evm","last_synced_at":"2025-10-09T15:22:39.861Z","repository":{"id":5043034,"uuid":"6203278","full_name":"rejeep/evm","owner":"rejeep","description":"Emacs Version Manager","archived":false,"fork":false,"pushed_at":"2022-06-06T23:14:48.000Z","size":259,"stargazers_count":223,"open_issues_count":31,"forks_count":33,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-08-29T22:51:22.168Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"hackiftekhar/IQKeyboardManager","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rejeep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-13T13:26:28.000Z","updated_at":"2025-06-02T08:36:39.000Z","dependencies_parsed_at":"2022-09-21T14:10:14.411Z","dependency_job_id":null,"html_url":"https://github.com/rejeep/evm","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/rejeep/evm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rejeep%2Fevm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rejeep%2Fevm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rejeep%2Fevm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rejeep%2Fevm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rejeep","download_url":"https://codeload.github.com/rejeep/evm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rejeep%2Fevm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278663381,"owners_count":26024389,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T01:04:17.267Z","updated_at":"2025-10-09T15:22:39.811Z","avatar_url":"https://github.com/rejeep.png","language":"Ruby","readme":"# Emacs Version Manager\n\n[![Gem Version](https://badge.fury.io/rb/evm.svg)](http://badge.fury.io/rb/evm)\n[![Build Status](https://travis-ci.org/rejeep/evm.svg)](https://travis-ci.org/rejeep/evm)\n[![Coverage Status](https://coveralls.io/repos/rejeep/evm/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/rejeep/evm?branch=master)\n\n## Deprecation Warning!\n\nAs Travis is moving towards a container-based infrastructure, hence\nsudo is not possible, EVM added support for Travis specific binaries\n(ends with `-travis`), which will be installed in `/tmp`.\n\nAll `-bin` versions will are deprecated and will be removed. Do not use them!\n\nTo run EVM on Travis, set the EVM path to `/tmp`:\n\n```bash\n$ evm config path /tmp\n```\n\nSee https://gist.github.com/rejeep/ebcd57c3af83b049833b for more\ninformation on how to use EVM on Travis.\n\n## Why EVM?\n\n* Did you ever wonder how to install Emacs? Homebrew, apt-get, Emacs\n  for OSX, Compile from scratch, etc...\n\n* Are you currently maintaining an Emacs package? How do you know it\n  works? Because you have tests of course. Ok, so you know it works on\n  your platform and with your Emacs version. But what about all other\n  versions that people are using? Does your package work for them?\n\n* EVM provides Linux pre-compiled binaries to allow for quick installation\n  on CI systems.\n\n## Platform Support\n\n### OSX\n\nSupported! (currently no pre-compiled binaries for CI)\n\n### GNU/Linux\n\nSupported!\n\n### Windows\n\nNot supported. Need help from someone running Windows.\n\n## Installation\n\nDefault installation directory for EVM Emacs versions is\n`/usr/local/evm`. This can be changed with the `config` command:\n\n```sh\n$ evm config path /foo/bar\n```\n\nNo matter what installation approach you choose, create the\ninstallation directory and give your user access rights, for example:\n\n```sh\n$ sudo mkdir /usr/local/evm\n$ sudo chown $USER: /usr/local/evm\n```\n\n### Automatic\n\n```sh\n$ curl -fsSkL https://raw.github.com/rejeep/evm/master/go | bash\n```\n\nAdd EVM's `bin` directory to your `PATH`.\n\n```sh\n$ export PATH=\"$HOME/.evm/bin:$PATH\"\n```\n\n### Homebrew\n\n_NOT ADDED YET_\n\n```sh\n$ brew install evm\n```\n\n### Ruby gem\n\n```sh\n$ gem install evm\n```\n\n### Manual\n\n```sh\n$ git clone https://github.com/rejeep/evm.git ~/.evm\n```\n\nAdd EVM's `bin` directory to your `PATH`.\n\n```sh\n$ export PATH=\"$HOME/.evm/bin:$PATH\"\n```\n\n## Usage\n\nIn the Evm `bin` directory, there are a few commands:\n\n* `evm` - Manage Emacs packages\n* `emacs`/`evm-emacs` - Emacs shim with currently selected Emacs package\n\n### list\n\nTo list all available Emacs versions you can install, run:\n\n```sh\n$ evm list\n```\n\nThe output will look something like this:\n\n```\nemacs-23.4\nemacs-24.1 [I]\nemacs-24.2\n* emacs-24.3 [I]\nemacs-24.3-travis [I]\n...\n```\n\nThe `[I]` shows what versions are currently installed and the `*`\nshows what version is currently selected.\n\n### install \u003cname\u003e\n\nTo install a version, run:\n\n```sh\n$ evm install version\n```\n\nExample:\n\n```sh\n$ evm install emacs-24.3\n```\n\n### use \u003cname\u003e\n\nTo start using a specific package, run:\n\n```sh\n$ evm use name\n```\n\nExample:\n\n```sh\n$ evm use emacs-24.2\n```\n\nThe Evm binary will update and use that Emacs package.\n\n### disuse\n\nTo stop using an EVM binary and restore your personal or system defaults:\n\n```sh\n$ evm disuse\n```\n\n### uninstall \u003cname\u003e\n\nTo uninstall a version, run:\n\n```sh\n$ evm uninstall emacs-24.2\n```\n\n### bin [name]\n\nPrints the full path to `name`'s Emacs executable. If no name is\nspecified, use currently selected.\n\n```sh\n$ evm bin # /usr/local/evm/emacs-24.5/Emacs.app/Contents/MacOS/Emacs\n$ evm bin emacs-24.2 # /usr/local/evm/emacs-24.2/Emacs.app/Contents/MacOS/Emacs\n```\n\n### help\n\nFor more information, run:\n\n```sh\n$ evm --help\n```\n\n## Contribution\n\nBe sure to!\n\nImplement the features and don't forget to test it. Run the tests\nwith:\n\n```sh\n$ rspec spec\n```\n\nIf all passes, send us a\n[pull request](https://github.com/rejeep/evm/pulls) with the changes.\n\n### Adding a new Emacs version\n\nCopy an existing recipe in the [recipes](/recipes) directory and make\nmodifications for the new version.  Also add the new version to the\n[Travis configuration](/.travis.yml).\n\n### Adding Travis binary\n\nIf you want to contribute a Travis binary, these instructions will help.\n\n1. Install [Docker](https://www.docker.com/)\n\n2. Run the generate script:\n\n```bash\n$ docker/build-release.sh 27.1 linux-xenial\n$ ls emacs-27.1-travis-linux-xenial.tar.gz\nemacs-27.1-travis-linux-xenial.tar.gz\n```\n\nCaution: Be prepared to wait!\n\nIf you are running this script for the first time, it will need to\ncreate the build image, which means downloading a large (\u003e 10 GB) base\nimage from Travis CI, and further configuring it with the tools needed\nto compile Emacs from source.\n\nIn addition, the Emacs build takes time and generates a fair amount of\nconsole output.\n\n3. Create a new recipe and make a pull request.\n\n4. Ask maintainer to add a new release and add the binary.\n","funding_links":[],"categories":["Ruby"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frejeep%2Fevm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frejeep%2Fevm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frejeep%2Fevm/lists"}