melpa/html/partials/getting-started.html
Steve Purcell 96f1f886cc SHA of commit with latest package.el for Emacs 23 has changed
Side effect of the Emacs bzr->git migration.
2014-12-19 22:06:43 +00:00

137 lines
5.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h1>Getting started</h1>
<section>
<a name="installing"></a>
<h2>Installing</h2>
<p>To use the MELPA repository, you'll need an Emacs with
<code>package.el</code>. Emacs 24 has <code>package.el</code>
bundled with it, and there's also
a <a href="http://repo.or.cz/w/emacs.git/blob_plain/ba08b24186711eaeb3748f3d1f23e2c2d9ed0d09:/lisp/emacs-lisp/package.el">version
you can use with Emacs 23</a>.
</p>
<p>
Enable installation of packages from MELPA by adding an entry
to <code>package-archives</code> after <code>(require
'package)</code> and before the call
to <code>package-initialize</code> in
your <code>init.el</code> or <code>.emacs</code> file:
</p>
<pre><code>(require 'package) ;; You might already have this line
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/") t)
(when (< emacs-major-version 24)
;; For important compatibility libraries like cl-lib
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))
(package-initialize) ;; You might already have this line</code></pre>
<p>
or to add the stable package repository, use this instead
of <code>"melpa"</code>:
</p>
<pre><code>(add-to-list 'package-archives
'("melpa-stable" . "http://stable.melpa.org/packages/") t)</code></pre>
<h3>Customizations</h3>
<p>
What if you only want some of your packages to be installed
from MELPA, and the rest from Marmalade or elsewhere?
</p>
<p>
Only in the very latest Emacs snapshots is there a way to
exclude or include versions according to their source
(see <code>package-pinned-packages</code>). For all other
users, we provide a <code>package-filter.el</code> package (available
in MELPA) that will allow you to enable only certain packages
or exclude certain packages.
You can install the package
manually by pasting this into your <code>*scratch*</code>
buffer and evaluating it.
</p>
<pre><code>(progn
(switch-to-buffer
(url-retrieve-synchronously
"https://raw.github.com/milkypostman/package-filter/master/package-filter.el"))
(package-install-from-buffer (package-buffer-info) 'single))</code></pre>
<p>You can then customize two variables:</p>
<dl>
<dt><code>package-archive-enable-alist</code></dt>
<dd>
<p>
Optional Alist of enabled packages used
by <code>package-filter</code>. The format
is <code>(ARCHIVE . PACKAGE ...)</code>,
where <code>ARCHIVE</code> is a string matching an archive
name in<code>package-archives</code>, <code>PACKAGE</code>
is a symbol of a package in <code>ARCHIVE</code> to
enable.
</p>
<p>
If no <code>ARCHIVE</code> exists in the alist, all
packages are enabled.
</p>
</dd>
<dt><code>package-archive-exclude-alist</code></dt>
<dd>
<p>
Alist of packages excluded by <code> package-filter
</code>. The format is <code>(ARCHIVE . PACKAGE
...)</code>, where <code>ARCHIVE</code> is a string
matching an archive name
in</code>package-archives</code>, <code>PACKAGE</code> is
a symbol of a package in that archive to exclude.</p>
<p>
Any specified package is excluded regardless of the value
of <code>package-archive-enable-alist</code>
</p>
</dd>
</dl>
</section>
<section>
<a name="known-issues"></a>
<h2>Known Issues</h2>
<p>
<strong>Note:</strong> <em>These fixes are included in
the <code>package-filter.el</code> package.</em>
</p>
<p>
There is a small bug in Emacs24s <code>package.el</code> such
that the dependency order comes out backwards. The problem is
patched by some <em>advice</em>.
</p>
<pre><code> (defadvice package-compute-transaction
(before package-compute-transaction-reverse (package-list requirements) activate compile)
"reverse the requirements"
(setq requirements (reverse requirements))
(print requirements))</code></pre>
</section>
<section>
<a name="updating"></a>
<h2>Updating Packages</h2>
<p>
<code>package.el</code> now includes a mechanism to upgrade
packages. After running <code>package-list-packages</code>,
type <em>U</em> (mark Upgradable packages) and then <em>x</em>
(eXecute the installs and deletions). When its done
installing all the packages it will ask if you want to delete
the obsolete packages and so you can hit <em>y</em> (Yes).
</p>
<p>
If you run into a problem installing or upgrading, you may
need to go into your <code>~/.emacs.d/elpa/</code> directory
and delete packages that are installed multiple times. This
can happen when the install times out.
</p>
<a name="development"></a>
<h2>Development</h2>
<p><a href="https://github.com/milkypostman/melpa">https://github.com/milkypostman/melpa</a></p>
<p>
Contributions are welcome. Currently, the builder supports
packages using git, subversion, mercurial, bzr, cvs, darcs, fossil and
emacswiki.
</p>
</section>