Ошибка режима слизи - PullRequest
       32

Ошибка режима слизи

5 голосов
/ 28 июня 2011

Я следовал руководству и информации от Небольшое руководство по Emacs / Swank / Paredit для Clojure

Однако после открытия elpa и установки clojure-mode, slime и paredit.Я перезапустил emacs, а затем попытался использовать Mx slime, однако он постоянно говорит, что нет совпадения.Что я делаю не так?

Затем я попытался установить clojure-mode из мармелада http://marmalade -repo.org / packages Я скомпилировал байтовый пакет el, а затем добавил (add-to-list 'package-archives' ("мармелад". "http://marmalade -repo.org / packages / ")) в my.emacs.Однако мармеладные ошибки со значением Symbol в качестве переменной void: package-archives.

Точно не знаю, что я делаю неправильно, я на Windows7 использую emacs 23.3.Я установил clojure в c: /clojure.

Любая помощь приветствуется.

Ответы [ 5 ]

8 голосов
/ 28 июня 2011

Мой init.el имеет как (require 'package), так и (package-initialize). Он не очень большой, выглядит так:

(require 'package)
;; Add the original Emacs Lisp Package Archive
(add-to-list 'package-archives
             '("elpa" . "http://tromey.com/elpa/"))
;; Add the user-contributed repository
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)

Я нахожусь на emacs 24 ( сборка для разработки ) на Windows 7. У меня были проблемы с настройкой emacs 23 для работы с пакетами, мне было проще просто обновить.

Кстати, я заметил, что если я устанавливаю переменную среды HOME, emacs ищет там каталог .emacs.d (вместо в% USER_PROFILE% \ AppData \ Roaming).

2 голосов
/ 04 октября 2011
  1. Скачать package.el (не следуйте инструкциям на сайте ELPA, просто скачайте package.el, предоставленный на сайте marmalade).
  2. Поместите файл package.el в каталог .emacs.d (~ / .emacs.d /).
  3. Добавьте следующее в ваш файл .emacs (~ / .emacs):

;;Load path to my packages

(add-to-list 'load-path "~/.emacs.d/")

;;Load ELPA (the package.el you downloaded from marmalade)

(require 'package)

;;Load Marmalade (the code found on marmalade's welcome page)

(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))

Вот и все! Я действительно надеюсь, что это поможет.

РЕДАКТИРОВАТЬ: Извините, я забыл упомянуть, что вам нужно добавить (package-initialize) в конце кода, который я предоставил. Если вы не добавите эту строку, пакеты будут установлены, но не загрузятся.

1 голос
/ 28 июня 2011

Я думаю, вам нужно поставить

(require 'package)

перед «add-to-list»

PS и добавить следующий вызов после «add-to-list»

(package-initialize)

эта команда загрузит установленные пакеты и активирует их

PPS '(требуется' пакет) ', возможно, не требуется, но я лично не использую' package.el '

0 голосов
/ 24 июля 2011

Не знаю, что это та же проблема, с которой я столкнулся, когда пытался использовать swank / slime quicklisp

Наконец, я обнаружил, что несколько пакетов /contrib/*.el зависят друг от друга, если пакет зависимостей Аравно B, если B не байтово скомпилирован, чем A не скомпилирует

, когда вы это сделаете (требуется 'A)

, он выдаст значение переменной Symbol void: A

Поэтому убедитесь, что вы скомпилировали каждый пакет, чем пытаетесь требовать.

0 голосов
/ 28 июня 2011

Мне кажется, вам не хватает либо (требуется пакет) или (инициализация пакета) . Вы можете проверить мои настройки здесь - я использую и мармелад, и clojure-mode в Windows 7, и он работает как шарм.

...