mirror of
https://github.com/correl/melpa.git
synced 2024-12-29 11:09:24 +00:00
112 lines
4.6 KiB
HTML
112 lines
4.6 KiB
HTML
|
<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 < 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>
|
|||
|
<p>
|
|||
|
Please read about <a href="#known-issues">known issues</a>
|
|||
|
below before attempting to install multiple packages at once.
|
|||
|
</p>
|
|||
|
<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 Emacs24’s <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 it’s 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>
|