2011-06-28 15 views
5

estaba siguiendo la guía y la información de A gentle tutorial to Emacs/Swank/Paredit for Clojurelimo error modo

Sin embargo después de abrir elpa y la instalación de clojure-mode, limo y paredit. Reinicié emacs y luego intenté usar M-x slime, pero continuamente dice que no hay coincidencia. ¿Qué estoy haciendo mal?

continuación, he intentado instalar clojure modo de mermelada http://marmalade-repo.org/packages I byte compilado paquete y luego el añadido (add-to-list 'paquete-archivos' ("mermelada". "http://marmalade-repo.org/packages/")) a my.emacs . Sin embargo, los errores de mermelada con El valor del símbolo como variable es nulo: package-archives.

No estoy seguro de lo que estoy haciendo mal Estoy en windows7 usando emacs 23.3. Tengo clojure instalado en c:/clojure.

Cualquier ayuda apreciada.

Respuesta

8

Mi init.el tiene ambos (require 'package) y (package-initialize). No es muy grande, se ve así:

(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) 

Estoy en emacs 24 (a development build) en Windows 7. He tenido problemas para conseguir emacs 23 para trabajar con paquetes también, era más fácil para mí solamente actualizar .

Por cierto, noté que si establecía una variable de entorno HOME, emacs busca allí el directorio .emacs.d (en lugar de en% USER_PROFILE% \ AppData \ Roaming).

1

creo, que hay que poner

(require 'package) 

antes de 'añadir a la lista'

P. S. y añadir después llamada después

(package-initialize) 
paquetes 'add-to-list'

se carga instalada este comando y activarlos

P.P.S. '(Require 'paquete)' tal vez no sea necesario, pero estoy personalmente no usar 'package.el'

+0

Gracias actualmente todavía no funciona. ELPA funciona pero la mermelada no. Lo cual es una pena porque el modo clojure en mermelada es 1.9.4 y en ELPA 1.7.1. Una cosa es cierta: las instrucciones en http://marmalade-repo.org/ son definitivamente vagas y probablemente no precisas. – sayth

+0

Si siempre quieres tener una versión nueva, puedes consultar el paquete el-get (https://github.com/dimitri/el-get) –

+0

. Probé en mi Emacs nuevo (de BZR) y en los shows de package.el versión de mermalade-repo - 1.9.2 –

0

Me parece que se está perdiendo ya sea (require' paquete) o (paquete de inicialización). Puedes ver mi configuración here - Estoy usando mermalade y clojure-mode en Windows 7 y funciona a las mil maravillas.

+0

He puesto el paquete.el en mi directorio .emacs.d y todavía no se carga con el (require 'package) y/o (package-initialize) en .emacs. Intenté que tu paquete git creara un directorio y clonara en C: \ emacs_kit \ emacs-dev-kit creado en -s C:/emacs_kit/emacs-dev-kit ~/.emacs.d. Después de iniciar emacs, aunque la baba M-X todavía no tenía errores de coincidencia. – sayth

+0

En Windows 7 .emacs.d debe estar en "c: /Users/Username/AppData/Roaming/.emacs.d"; de lo contrario, Emacs no lo recogerá. –

+0

oh sí, estoy de acuerdo, estoy tratando de configurar emacs para que funcionen con clojure en una PC con XP, una computadora portátil Win7 y una caja de Vectorlinux. – sayth

0

No sabe que es el mismo problema, que se enfrentó cuando estuviera tratando de utilizar de quicklisp Swank/limo

Finalmente he encontrado que algunos paquetes /contrib/*.el eran dependientes entre sí si el envase dependencia de una es B, si B no es byte-compilados que A no se compilará

cuando haces (require 'A)

arrojará valor de la variable de Symbol es nulo: Un

Así que asegúrese de compilar cada paquete que intente requerir.

2
  1. Descargar package.el (no siga las instrucciones en el sitio ELPA, simplemente descargue el paquete proporcionado en el sitio de mermelada).
  2. Coloque package.el en su directorio .emacs.d (~/.emacs.d /).
  3. Añadir lo siguiente a su archivo .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/")) 

eso es todo! Realmente espero que esto ayude.

EDITAR: Perdón, olvidé mencionar que debe agregar (inicializar el paquete) al final del código que proporcioné. Si no agrega esta línea, los paquetes se instalarán, pero no se cargarán.

Cuestiones relacionadas