2011-09-02 5 views
20

마멀레이드를 패키지 소스로 추가하려고하는데, 그렇게하면 오류가 발생합니다 : Symbol's value as variable is void: package-archives. 누구든지이 문제를 해결하는 방법을 알고 있습니까? 아래는 내 .emacs 파일입니다. ELPA 버전 package-archives을 포함하지 않는 한, emacs24에 포함 할패키지 소스로 마멀레이드 추가

(let ((buffer (url-retrieve-synchronously 
      "http://tromey.com/elpa/package-install.el"))) 
    (save-excursion 
    (set-buffer buffer) 
    (goto-char (point-min)) 
    (re-search-forward "^$" nil 'move) 
    (eval-region (point) (point-max)) 
    (kill-buffer (current-buffer)))) 
+0

package.el의 버전은 무엇입니까? 어떻게 얻었 어? 엘파 패키지 인 경우 : '패키지 아카이브'가 없으며 리포지토리를 추가 할 수 없습니다. –

+0

@Michael Markert : 나는 생각한다 * 최신 것; 내 OP의 맨 아래에서 코드를 실행하여 얻었습니다. 예, 엘파 패키지입니다. 어떤 다른 package.el (s)이 있습니까? – kin1

답변

13

가 package.el를 사용 :

;;; This was installed by package-install.el. 
;;; This provides support for the package system and 
;;; interfacing with ELPA, the package archive. 
;;; Move this code earlier if you want to reference 
;;; packages in your .emacs. 
(when 
    (load 
    (expand-file-name "~/.emacs.d/elpa/package.el")) 
    (package-initialize)) 

(add-to-list 'load-path (expand-file-name "~/.emacs.d")) 
(add-to-list 'load-path "~/.emacs.d/plugins") 
(add-to-list 'load-path "~/.emacs.d/plugins/color-theme") 
(add-to-list 'load-path "~/.emacs.d/plugins/groovy") 

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

이 package.el에게

를 설치하려면 다음 코드를 실행 여러 저장소를 지원합니다.

그것은 (emacs24는!) 여기서 발견된다 : http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/lisp/emacs-lisp/package.el는 는

마지막 emacs23 호환 버전

: http://repo.or.cz/w/emacs.git/blob/ba08b24186711eaeb3748f3d1f23e2c2d9ed0d09:/lisp/emacs-lisp/package.el

이 loadpath로 드롭 및로드 하나 유형의 정착 (즉, 후 라인을 드롭입니다 논평).

+0

23.3.1에서 emacs를 사용하고 있으며 링크 된 package.el이 작동하지 않는 것 같습니다. 더구나, 내가 코멘트 * 뒤에 모든 줄을 버리길 원하나요? 아니면 그냥 ... (언제 ...)? – kin1

+2

아, 몇 달 전에 이전 버전과의 호환성이 깨 졌음을 잊어 버렸습니다. 마지막으로 emacs23과 호환되는 버전을 내 게시물에 추가했습니다. 떨어 뜨리는 것에 관해서 : 단지'when'을 사용하고 경로를 유지하려면'require'를'load'로 대체하십시오. –

+0

위대한 작품. 우분투에서 이맥스 23.3.1. – aartist