Let's say I'm following the master branch of Org mode. So, I have it under ~/src/org-mode add tell my Emacs to load it by adding "~/src/org-mode/lisp" to load-path.

I use ELPA and MELPA to install some Org mode extensions from there. Unfortunately, package.el installs another version of Org mode because the extensions, obviously, depend on Org mode proper.

Is there any way to tell the package manager that I already have Org mode so that it does't have to install another version of it? Something like

(setq package-locally-installed '((package1 . version) (package2 . version))

BTW, I don't have any problem having multiple version of packages. My setup seems to work fine; ~/src/org-mode shadows the other. My question is to tell package.el not to install packages I have already.

There is kind of the same question package-install doesn't pick up dependencies that are already in site-lisp, but the discussion is more like fixing helm installation but not to tell.

Another related question: How to install package without install dependencies through "package"?, which handles the issue by using a local repo. It seems to work but it'd be nice if package.el already have some variable I can set.

up vote 1 down vote accepted

You might be able to do what you want with:

(push '(org 9 5) package--builtin-versions)

[ Side note: I've had plans to merge <pkg>-pkg.el into <pkg>-autoloads.el such that loading <pkg>-autoloads.el marks the package as installed (and activated). This way you could just do

(load "~/src/org-mode/org-autoloads")

and it would not only take care of adjusting the load-path (as is already the case) but it would also automatically solve your problem at the same time. ]

  • What happened to your plan? That sounds good to me. – Yasushi Shoji Jan 12 at 1:50
  • BTW, even if I put (org 9 5) in the package--builtin-versions, it doesn't show up in the *Packages* buffer. Am I missing something? – Yasushi Shoji Jan 12 at 2:05
  • Too many plans, too little time. I'd be happy to help someone make such a change. – Stefan Jan 12 at 2:38

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.