A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/radian-software/straight.el/issues/425 below:

Poor experience with (use-package :ensure t ... :straight ...) · Issue #425 · radian-software/straight.el · GitHub

I moved my Emacs config over to use-package earlier this year to improve startup times, and am trying out straight.el this week to better keep things in sync across machines.

I have a few packages I've written that I haven't gotten around to submitting to MELPA, and these are presenting problems for me. My assumption was that if I provided a recipe, straight.el would use it to install the package, and that would be that. However, there's a bad interaction with use-package.

Here's an example:

(use-package nssh
  :defer t
  :ensure t
  :straight (nssh :host github
                  :repo "ieure/nssh-el"
                  :tag "v0.9.10"))

When I eval this, my package archives are refreshed:

Importing package-keyring.gpg...done
Contacting host: stable.melpa.org:80 [2 times]
Contacting host: elpa.gnu.org:443
Package refresh done

And then I get this warning:

Error (use-package): Failed to install nssh: Package ‘nssh-’ is unavailable

Despite all that, my package is installed and works fine:

phaktory!ieure:~$ ls -ld ~/.emacs.d/straight/repos/nssh-el
drwxr-xr-x 1 ieure ieure 40 Oct 24 13:39 /home/ieure/.emacs.d/straight/repos/nssh-el/

However, this unacceptably delays Emacs initialization, as it refreshes packages multiple times (once per recipe which doesn't exist in package-archives) and spams the fresh Emacs with *Warnings*.

A similar experience can be had if you use-package anything which isn't available in package-archives, for example if you remove GNU ELPA and try to install exwm.

The issue appears to be that :ensure t causes use-package to install via package.el, even though :straight ... causes installation via the provided recipe.

It would be ideal if :ensure t was ignored when :straight was provided, but failing that, a warning or item in the documentation would be welcome.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4