melpa/html/partials/getting-started.html
2013-09-05 09:25:19 +01:00

108 lines
4.5 KiB
HTML
Raw 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 add the repository put this before the call to <code>package-initialize</code> in your <code>init.el</code> file.</p>
<!-- <script src="https://gist.github.com/1679158.js"> </script> -->
<pre><code>(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)</code></pre>
<p>In Emacs &lt; 24, you'll also need to explicitly include the GNU
ELPA archive, which provides important compatibility libraries like <code>cl-lib</code>:</p>
<pre><code>(when (< emacs-major-version 24)
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))</code></pre>
<h3>Customizations</h3>
<p>
There is currently no way in <code>package.el</code> to
exclude or include versions. So to remedy this there is
a <code>melpa.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/melpa/master/melpa.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>melpa.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 and
emacswiki.
</p>
</section>