पैकेज-इनिशियलाइज़ करें: गलत प्रकार का तर्क: एरेप, एनआईएल


29

एसी / सी ++ संपादक के रूप में emacs के माध्यम से जाने के दौरान , मैं अपनी ~/.emacsफाइल में शामिल करने के लिए कोड की निम्नलिखित पंक्तियों में आया , melpa archivesपैकेज स्थापना के लिए कनेक्ट करने के लिए

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(package-initialize)

इन लाइनों को emacs में सहेजने के बाद, जब मैंने emacs शुरू किया तो यह मुझे wrong type argument: arrayp, nilमिनीबफ़र क्षेत्र में दिखा रहा है

जब मैंने कोशिश की $ emacs --debug -init, मुझे मिल गया:

Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
  package--add-to-archive-contents(nil "melpa")
  package-read-archive-contents("melpa")
  package-read-all-archive-contents()
  package-initialize()
  eval-buffer(#<buffer  *load*> nil "/home/anupam/.emacs" nil t)  ; Reading at buffer position 905
  load-with-code-conversion("/home/anupam/.emacs" "/home/anupam/.emacs" t t)
  load("~/.emacs" t t)
  #[0 "\205\262�    \306=\203�\307\310Q\202;�   \311=\204�\307\312Q\202;�\313\307\314\315#\203*�\316\202;�\313\307\314\317#\203:�\320\nB\321\202;�\316\322\323\322\211#\210\322=\203a�\324\325\326\307\327Q!\"\323\322\211#\210\322=\203`�\210\203\243�\330!\331\232\203\243�\332!\211\333P\334!\203}�\211\202\210�\334!\203\207�\202\210�\314\262\203\241�\335\"\203\237�\336\337#\210\340\341!\210\266\f?\205\260�\314\323\342\322\211#)\262\207" [init-file-user system-type delayed-warnings-list user-init-file inhibit-default-init inhibit-startup-screen ms-dos "~" "/_emacs" windows-nt "/.emacs" directory-files nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs" "^_emacs\\(\\.elc?\\)?$" (initialization "`_emacs' init file is deprecated, please use `.emacs'") "~/_emacs" t load expand-file-name "init" file-name-as-directory "/.emacs.d" file-name-extension "elc" file-name-sans-extension ".el" file-exists-p file-newer-than-file-p message "Warning: %s is newer than %s" sit-for 1 "default"] 7 "\n\n(fn)"]()
  command-line()
  normal-top-level()

मैं एमएसीएस के लिए नया हूं, क्या कोई मुझे बता सकता है कि मैं इसे कैसे हल कर सकता हूं?

जवाबों:


41

मैं दूसरे दिन इसमें भाग गया। मुझे लगता है कि यह एक अमान्य पैकेज संग्रह फ़ाइल के कारण हुआ था। तत्काल सुधार को हटाना है <user-emacs-directory>/elpa/archives/melpa/archive-contents; यह अगले पर फिर से बनाया जाएगा package-initialize। दुर्भाग्य से, इस प्रकार की विफलता के लिए package.el बहुत मजबूत नहीं है।


तुम ठीक कह रहे यह 12 घंटे के बारे में मेरे लिए काम किया, फिर अचानक इस समस्या को बाहर कहीं से आया था .. के अलावा कई पैकेज ट्यूटोरियल श्रृंखला में उल्लेख मानक elpa.gnu.org में नहीं हैं ..
लाजर

इस समस्या को हल करने के लिए कोई अन्य विकल्प नहीं है?
लाजर

मुझे लगता है कि यह शायद MELPA में एक बग (पैकेज में एक लचीलापन की कमी के साथ संयुक्त है), आप वहां एक मुद्दा दर्ज करना चाह सकते हैं।
शास्त्री

यकीन नहीं है कि क्या यह प्रासंगिक है, लेकिन रिपॉजिटरी के लिए पता बदल गया है: अब यह अनुशंसा करता है:(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
rvf0068

मैं पैकेज अपग्रेड के बाद उसी समस्या में भाग गया। फिक्स ने एक आकर्षण की तरह काम किया। धन्यवाद।
racachach

3

मेरे पास एक ही समस्या थी और निम्नलिखित सुधार लागू किए गए। यह मेरे लिए काम किया:

  • मेलपा आर्काइव के लिए पता बदलें: " http://melpa.org/packages "
  • ~ / .Emacs.d / elpa / अभिलेखागार / मेलपा / संग्रह-सामग्री फ़ाइल हटाएं
  • पैकेज-इनिशियलाइज़ और पैकेज-रिफ्रेश-सामग्री चलाएँ।

मेरे .emacs फ़ाइल में पैकेज-रिफ्रेश-कंटेंट कमांड है। यह सुनिश्चित करता है कि पैकेज हमेशा अद्यतित होते हैं लेकिन यह एमएसीएस के बूट समय में लगभग दो सेकंड जोड़ता है।

मेरे .emacs से संबंधित पैकेज इस तरह दिखते हैं:

;; Package system
(require 'package)
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
                         ("marmalade" . "https://marmalade-repo.org/packages/")
                         ("melpa" . "http://melpa.org/packages/")
                         ("user42" . "http://download.tuxfamily.org/user42/elpa/packages/")))
(package-initialize)

(package-refresh-contents)
(setq auto-install-packages
      '(color-theme bar-cursor htmlize flycheck flycheck-haskell
                    haskell-mode sml-mode rust-mode fsharp-mode nasm-mode go-mode
                    perl-mode web-mode )) ;;ffap-perl-module markdown-mode))
(dolist (pkg auto-install-packages)
  (unless (package-installed-p pkg)
    (package-install pkg)))

मैं इस समस्या को काफी बार अनुभव कर रहा हूं। मुझे आश्चर्य है कि जब भी यह समस्या होती है, तो फ़ाइल को हटाने का एक तरीका है ~ / .emacs.d / elpa / अभिलेखागार / मेलपा / संग्रह-सामग्री।
थोरकिल व्रगे

1
क्या आप alias rm_archive='rm -r <user-emacs-directory>/elpa/archives/melpa/archive-contents'अपनी ~/.bashrcफाइल से मतलब रखते हैं ?
snd
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.