Ok, this is a noob question but I've digging into this enough that I think it's reasonable to ask :)
My question: In one's .emacs / init.el file, can one use require to load packages that were installed via the emacs package manager? If so, how?
I've seen a lot of code that says (require 'package-name), where 'package-name is something like 'powerline or 'rainbow-delimiters. The docs say that require basically tries to load the file, making sure not to load it twice. load works by looking in all the dirs in the load-path variable. This makes sense.
package-initialize goes through the list of installed packages and tries to run their auto-loads (and possibly defer further work) so that all the packages I've previously installed will work. This makes sense.
My confusion comes from my init.el: even though I've got packages installed (I can both see the packages in the filesystem and everything works great if I run (package-initialize)) using require doesn't work. Emacs complains that use-package isn't in load-path and I can confirm that if I don't call (package-initialize) that the load-path doesn't ilst ~/.emacs.d/elpa (or anything under it).
My question: In one's .emacs / init.el file, can one use require to load packages that were installed via the emacs package manager? If so, how?
Do I need to manually add the directory to load-path? Should this normally work and I probably broke something with my personal init.el?
Any help would be appreciated - I'm clearly not getting something about how require works (and many other things too, I'm sure :) )
EDIT: My version: GNU Emacs 26.1 (build 1, x86_64-w64-mingw32) of 2018-05-30
Also, I'm playing around with use-package and am running into the same problem - if I add the directory containing use-package to load path without running (package-initialize) first then use-package fails because it wants to use the package bind-key. bind-key is installed but not listed in load-path so emacs barfs at that point.