2011-11-17 14 views
7

के लिए "लोड फ़ाइल नहीं खोल सकती" मैंने मार्मलेड स्थापित किया है और कुछ रोचक पैकेज डाउनलोड किए हैं। लेकिन अब, जब मैं Emacs शुरू मैं इस त्रुटि मिलती है:ईएलपीए/मार्मालेड रिपोर्ट ~/.emacs.d/elpa/archives/-pkg

Cannot open load file: c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/archives/-pkg 

अगर मैं --debug-init उपयोग करते हैं, मैं:

Debugger entered--Lisp error: (file-error "Cannot open load file" "c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/archives/-pkg") 
load("c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/archives/-pkg" nil t) 
(if (file-directory-p pkg-dir) (load (concat pkg-dir ... "-pkg") nil t)) 
(let ((pkg-dir ...)) (if (file-directory-p pkg-dir) (load ... nil t))) 

package-load-descriptor("c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/" "archives") 
(lambda (name) (package-load-descriptor dir name))("archives") 
mapc((lambda (name) (package-load-descriptor dir name)) ("anything-1.287" "anything- complete-1.86" "anything-config-0.4.1" "archive-contents" "archive-contents~" "archives" "auto-indent-mode-0.35" "builtin-packages" "builtin-packages~" "clojure-mode-1.7.1" "clojurescript-mode-0.5" "coffee-mode-0.3.0" "color-file-completion-1.0.1" "color-theme-6.6.1" "color-theme-eclipse-0.0.2" "color-theme-github-0.0.3" "color-theme-railscasts-0.0.2" "color-theme-twilight-0.1" "css-mode-1.0" "drag-stuff-0.0.3" "evernote-mode-0.41" "find-file-in-project-2.0" "flymake-coffee-0.4" "flymake-haml-0.5" "flymake-ruby-0.4" "flymake-shell-0.5" "haml-mode-3.0.14" "highlight-parentheses-1.0.1" "html-script-src-0.0.2" "inf-ruby-2.1" "js-comint-0.0.1" "js2-mode-20090814" "lua-mode-20100617" "package.el" "package.el~" "project-local-variables-0.2" "ruby-compilation-0.7" "ruby-electric-1.1" "ruby-mode-1.1" "slime-20100404" "tabbar-2.0.1" "tabbar-ruler-0.2" "yasnippet-0.6.1" "yasnippet-bundle-0.6.1" "zenburn-1.8")) 
(if (file-directory-p dir) (mapc (lambda ... ...) (directory-files dir nil "^[^.]"))) 
(lambda (dir) (if (file-directory-p dir) (mapc ... ...)))("c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/") 
mapc((lambda (dir) (if (file-directory-p dir) (mapc ... ...))) ("c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/" "/usr/share/emacs/site-lisp/elpa/")) 
package-load-all-descriptors() 
package-initialize() 
    (progn (package-initialize)) 
(if (load (expand-file-name "~/.emacs.d/elpa/package.el")) (progn (package-initialize))) 
(when (load (expand-file-name "~/.emacs.d/elpa/package.el")) (package-initialize)) 
eval-buffer(#<buffer *load*> nil "c:/Documents and Settings/Carlos/Datos de programa/.emacs" nil t) ; Reading at buffer position 9019 
load-with-code-conversion("c:/Documents and Settings/Carlos/Datos de programa/.emacs" "c:/Documents and Settings/Carlos/Datos de programa/.emacs" t t) 
load("~/.emacs" t t) 
#[nil "\205\264 

इस फ़ाइल में मौजूद नहीं है। मैंने Google के साथ इस समस्या की खोज करने की कोशिश की है लेकिन मुझे कुछ भी नहीं मिला।

उत्तर

13

आसान। किसी भी कारण से, package.el अब आप http://tromey.com/elpa/package.el से "क्लासिक" संस्करण का उपयोग कर रहे हैं। यह package.el के हाल के संस्करणों के साथ जंगली रूप से असंगत है। आप उस संस्करण का उपयोग कर Marmalade संकुल को कैसे प्रबंधित करने में कामयाब रहे, मुझे नहीं पता; जब आपने उन पैकेजों को स्थापित किया था, तो शायद package.el का एक अलग संस्करण होना चाहिए, शायद उस समय जब आप एक नए Emacs का उपयोग कर रहे थे।

ठीक (अगर यह काफी नया है करने के लिए है) संस्करण अपने Emacs के साथ बंडल उपयोग करने के लिए, या Marmalade instructions में वर्णित है, बजाय अपने ~/.emacs.d/elpa/package.elthis version साथ बदलने के लिए है।

+0

मैं एक ही समस्या में चल रहा हूं और यह समाधान मेरे लिए काम नहीं कर रहा है। जब मैं package.el फ़ाइल को '~/.emacs.d/elpa/package.el' में जोड़ता हूं और' .emacs' buffer को eval करता हूं, मुझे मिलता है (फ़ाइल-त्रुटि "लोड फ़ाइल" "पैकेज नहीं खोल सकता") – PPPaul

+0

आपके Emacs init फ़ाइल के लिए 2 संभावित स्थान हैं। एक '~/.emacs' है, और दूसरा' ~/.emacs.d/init.el' है। चूंकि आप पूर्व का उपयोग कर रहे हैं, मेरा मानना ​​है कि '~/.emacs.d' आपके 'लोड-पथ' पर नहीं डाला गया है। इसके बजाय बाद के लेआउट का उपयोग करने का प्रयास करें। आखिरकार, सबसे अच्छा समाधान हालिया Emacs संस्करण का उपयोग करना है ताकि 'package.el' बंडल हो। कई उपयुक्त स्थिर रिलीज रहे हैं। – sanityinc

+0

मैंने अपनी .emacs फ़ाइल हटा दी।चीजें अब बहुत बेहतर काम करती हैं – PPPaul

0

मुझे लगता है कि यह सिर्फ दूर जा सकते हैं यदि आप मैन्युअल रूप से एक निर्देशिका बनाने:

c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/archives/-pkg 
+0

यह मेरे लिए काम नहीं किया। (मैक 10.8.2 पर) – PPPaul

1

touch ~/.emacs.d/elpa/archives/-pkg का उपयोग करके फ़ाइल नहीं, निर्देशिका नहीं, इसे मेरे लिए हल किया गया।

5

इसी तरह की समस्या को हल करने का प्रयास करते समय मैंने इस प्रश्न पर ठोकर खाई है।

;; init.el 
(require 'package) 
(package-initialize) 

हालांकि मैं package.el के लिए स्रोत कोड को पढ़ने के लिए नहीं किया था, मेरा मानना ​​है कि package.el में आलस्य किसी तरह समस्या cousing है: मेरे मामले में, के लिए मजबूर कर package-initialize समस्या हल कर दिया है। यद्यपि यह और पुराना सवाल है, मैं जवाब देना चाहता था, अगर किसी और को कुछ मदद की ज़रूरत है।

Emacs स्टार्ट-अप पर अधिक जानकारी के लिए, http://www.gnu.org/software/emacs/manual/html_node/elisp/Startup-Summary.html देखें।

+0

मैंने हाल ही में ऑर्गंटू के एक साफ इंस्टॉल करने के बाद, ऑर्ग-मोड निर्यात के साथ इस समस्या में ठीक से भाग लिया 12.10 एक दूषित + बॉटेड अपग्रेड पर। इसने अब कम से कम झगड़े –

+0

के साथ समस्या हल कर दी है, "आईएनजी फ़ाइल लोड करने के बाद स्वचालित पैकेज लोडिंग होने का कारण यह है कि उपयोगकर्ता विकल्प केवल इनिट लोड करने के बाद अपने अनुकूलित मान प्राप्त करते हैं फाइल, जिसमें उपयोगकर्ता विकल्प शामिल हैं जो पैकेजिंग सिस्टम को प्रभावित करते हैं। " – phils

+0

सामान्य पैकेज प्रारंभ होने के बाद आप कस्टम कोड का मूल्यांकन करने के लिए 'आफ-इन-हुक' का उपयोग कर सकते हैं। उदाहरण: '(ऐड-हुक 'आफ-इन-हुक' मेरे-बाद-इनिट-हुक) (मेरे बाद के इन-हुक() को हटाएं ...)' – phils

0

मेरे मामले में मैं इस निर्देश जहां यह आवश्यक फ़ाइलों पा सकते हैं Emacs बताने के लिए जोड़ने के लिए किया था:

सबसे पहले इस लाइन

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

और आवश्यक पैकेज ...

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

(when (not package-archive-contents) 
    (package-refresh-contents))