Ceci est similaire à cette question, mais la réponse semble être obsolète.
Disons que j'utilise une couche et que je veux pirater le code d'un package particulier que cette couche utilise. Comment dois-je procéder?
Pour mieux illustrer ce que je veux accomplir en général, je présente un exemple spécifique.
J'essaie de faire fonctionner la spotify
couche, mais la master
branche actuelle du helm-spotify
package utilise une API Web obsolète. Il y a une demande de pull pour résoudre ce problème et je veux l'essayer et peut-être contribuer quelque chose. Mon problème est que je ne parviens pas helm-spotify
à charger la copie locale de .
J'ai essayé de passer à la develop
branche de spacemacs
:
git branch --track develop origin/develop
git checkout develop
Dans ~/.emacs.d/layers/spotify/packages.el
J'ai changé de
(setq spotify-packages '(spotify helm-spotify))
À
(setq spotify-packages
'(
spotify
(helm-spotify :location local)
))
Et tiré le helm-spotify
référentiel vers~/.emacs.d/layers/spotify/local/helm-spotify
Lorsque je redémarre les spacemacs, je reçois
File error: Cannot open load file, no such file or directory, multi
Quand je regarde, helm-spotify.el
il y a:
(require 'multi)
Donc, je suppose que lors de l'installation à helm-spotify
partir de melpa
la dépendance, le multi
problème est résolu avant le chargement, helm-spotify
mais bien sûr plus lorsque j'utilise une copie locale de helm-spotify
.
Mes questions sont donc :
- Comment résoudre les dépendances lors de l'utilisation d'un package local?
- Ou dois-je faire cela complètement différemment de ce que j'ai décrit?
J'ai également essayé, sans succès, d'ajouter multi
à dotspacemacs-additional-packages
et à spotify-packages
:
(setq spotify-packages '(
multi ;; I added this
spotify
(helm-spotify :location local) ;; I modified here
))
;; I added this
(defun spotify/init-multi ()
(use-package multi))
;; the rest is as it was
(defun spotify/init-spotify ()
(use-package spotify
:config (spacemacs/set-leader-keys
"amsp" 'spotify-playpause
"amsn" 'spotify-next
"amsN" 'spotify-previous
"amsQ" 'spotify-quit)))
(when (configuration-layer/layer-usedp 'spacemacs-helm)
(defun spotify/init-helm-spotify ()
(use-package helm-spotify
:config (spacemacs/set-leader-keys
"amsg" 'helm-spotify))))
dans packages.el
. A également essayé sans ajouter multi
à dotspacemacs-additional-packages
.
recipe
place de local
. par exemple(helm-spotify :location (recipe <recipe specs>))
multi
à dotspacemacs-additional-packages
sans succès. L'erreur est la même. J'ai mis à jour ma question pour refléter celle que packages.el
j'utilise. Merci pour votre effort!
recipe
place de local
(cela devrait prendre en charge la multi-dépendance pour vous), soit déplacer la multi
configuration vers un calque séparé et vous assurer que ce calque est répertorié avant spotify
dans dotspacemacs-configuration-layers
(la liste des calques)
package.el
(le module Emacs intégré) n'est pas vraiment considérélocal/helm-spotify
comme un package. La façon de le résoudre est manuellement et vous êtes dans la bonne direction. Pouvez-vous ajouter plus de détails sur la façon dont vous avez essayé d'ajoutermulti
? Il n'est pas clair si vous l'avez ajoutéadditional-packages
etspotify-packages
en même temps, ou si vous les avez essayés séparément. Avoirmulti
dansspotify-packages
et unespotify/init-multi
fonctionpackages.el
(sans utiliseradditional-packages
) devrait être suffisant