Have a look at the use-package package. I have found it makes this much easier. There are some complications associated with using it and org-mode, due mainly to emacs being bundled with one version and another vesion being available in both the gnus and org-mode elpa repos. However, once you have that bit sorted, the rest really makes managing your packages easier.
One of the nice things about use-package is that it includes the :ensure keyword, which tells emacs to ensure that the package has been installed. So you emacs init file ends up being essentially a lot of use-package stanzas that are easy to maintain and ensure all the packages are loaded. I keep my emacs init file on github and when I run emacs on a different system, all I need to do is clone the repo and start emacs. The first run will be a little slow as emacs installs all the packages I need, but after that, it is fast - in fact, use-package has options which can speed up emacs startup by delaying loading of package (it sets up autoloads for you). I also find managing my configuration much cleaner. Yes, I am definitely a convert. There are wrinkles - it isn't magic and you will go through some trial an error, but I've been using it for a while now and am very happy with how much easier managing my init.el and all my elpa packages is. HTH Tim Loris Bennett writes: > Hi, > > This is more of a general emacs question. > > I often use the same .emacs on various machines which may not have all > the packages I normally load. To get around this I use the Fabrice > Niessen's 'try-require' function taken from > > http://www.mygooglest.com/fni/dot-emacs.html > > Due to some recent problems, I wanted to look at the way I load things > and wondered how others deal with missing packages. > > Cheers, > > Loris > > PS: I mainly use Emacs 25, but would be interested in Emacs 24 > compatibility. -- --- Tim Cross