help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Let `package-install-selected-packages' install packages without ask


From: Hongyi Zhao
Subject: Re: Let `package-install-selected-packages' install packages without asking for confirmation.
Date: Fri, 16 Jul 2021 22:41:23 +0800

On Fri, Jul 16, 2021 at 10:22 PM Arthur Miller <arthur.miller@live.com> wrote:
>
> Hongyi Zhao <hongyi.zhao@gmail.com> writes:
>
> > I use the following init file:
> >
> > ```
> > ;https://emacs.stackexchange.com/questions/34180/how-can-i-script-emacs-to-install-packages-from-list
> > ;https://stackoverflow.com/questions/10092322/how-to-automatically-install-emacs-packages-by-specifying-a-list-of-package-name
> > (require 'package)
> > (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/";) t)
> > (package-initialize)
> >
> > (setq package-selected-packages
> >       '(company
> >         async))
> > (package-install-selected-packages)

The above line is redundant. If I delete it, all will work just as I want.

> >
> >
> > (unless package-archive-contents
> >   (package-refresh-contents))
> > (package-install-selected-packages t)
> > ```
> >
> > But when I start Emacs, it still asks me to confirm the installation
> > of the packages. See the following info shown in minibuffer:
> >
> > Packages to install: 2 (company async), proceed? (y or n)
> >
> > As you can see, I've set the `(package-install-selected-packages t)'
> > option.
>
> As I see, docs says that variable holds already installed packages, not
> the packages you would like to install:
>
> Documentation
> Store here packages installed explicitly by user.
>
> I am not sure either how is it ment to be used on another machine, with
> noconfirm flag, anyway, you just use dolist and install your packages in
> a loop:
>
> (dolist (p '(company async))
>   (unless (package-installed-p p)
>     (package-install p)))
>
> If you really have to save packages in a named list:
>
> (setq packages-to-install '(company asynb))
>
> (dolist (p packages-to-install)
>   (unless (package-installed-p p)
>     (package-install p)))
>
> Hope it works for you.

Thank you very much for your suggestions. But as I've told, the method
posted here really works perfectly after my later revision, as
mentioned above.

Regards
-- 
Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com>
Theory and Simulation of Materials
Hebei Vocational University of Technology and Engineering
No. 473, Quannan West Street, Xindu District, Xingtai, Hebei province



reply via email to

[Prev in Thread] Current Thread [Next in Thread]