how to automatically install emacs packages by specifying a list of package names?で述べたように、必要なパッケージのバージョンも記録する方がよいでしょう。
(defun list-packages-and-versions()
"Returns a list of all installed packages and their versions"
(mapcar
(lambda (pkg)
`(,pkg ,(package-desc-version
(cadr (assq pkg package-alist)))))
package-activated-list))
あなた(NAME VERSION)
ペアのリストが表示されます。そうするためには、次の機能を使用することができます。残念ながら、私は特定のバージョンのパッケージをインストールする方法を見つけることができませんでした。 package.el
は常に入手可能な最新のものです。私が今やっていることは次のとおりです。
(defun install-packages-with-specific-versions (package-version-list)
"Install the packages in the given list with specific versions.
PACKAGE-VERSION-LIST should be a list of (NAME VERSION) lists,
where NAME is a symbol identifying the package and VERSION is
the minimum version to install."
(package-download-transaction
(package-compute-transaction() package-version-list)))
私は正確なバージョン番号に一致するパッケージをインストールするには長い関数を書いてきましたが、デフォルトでpackage.el
が唯一の各パッケージで利用可能な最新バージョンを取得するため、それが失敗しました。 gist
これは素晴らしいです。 – uchuugaka
パッケージ起動リストはパッケージを削除しても更新されませんが、再起動時にのみ表示されます。 – uchuugaka