2017-08-08 151 views
0

我想在我移動到新計算機時使用腳本自動安裝所有軟件包。Emacs軟件包安裝腳本無法獲取軟件包

我寫這個劇本和Emacs給我Package ‘highlight-symbol-’ is unavailable

#! emacs -q --script 
;;; load package module 
(require 'package) 
(dolist (url '(("melpa" . "https://melpa.org/packages/") 
      ("melpa-stable" . "http://stable.melpa.org/packages/") 
     )) 
    (add-to-list 'package-archives url t)) 
(package-initialize) 

;;; read package list from `packages` file 
(defvar *packages-list '("highlight-symbol" "monokai-theme")) 


(unless package-archive-contents 
    (package-refresh-contents)) 

;;; install packages 
(dolist (package *packages-list) 
    (if (package-installed-p (intern package)) 
     (princ (format "%s already installed \n" package)) 
    (progn 
     (princ (format "%s is installing \n" package)) 
     (package-install package) 
     (princ (format "%s installed \n\n"))))) 

我試了一下:

  1. 使用emacs -q並嘗試將它納入劃傷(package-install package)仍有問題。
  2. 我不知道DONT-SELECT在#'package-install中的含義,所以我試過(package-install package nil)(package-install package ""),它們仍然有問題。
  3. M-x軟件包安裝運行良好。

我該如何解決這個問題。我在這個劇本中誤解了什麼。 謝謝!

回答

0

對不起,夥計們,這是一個白癡問題。

答案是package-install接受符號,但字符串。

我將代碼更改爲(package-install (intern package)然後它工作。