Yarn install generates a yarn.lock file which fetches packages from npmjs.
As far as the registries go, there is essentially no difference. According to one of the Yarn devs, they just maintain a server that redirects to NPM's registry so that they can monitor traffic and attempt to speed things up. And if you want to change a registry, you can do so on a per-project basis by editing the "registry"
key in your .npmrc
or globally with npm config set registry
to use whatever endpoint you want to download from. For yarn you can use yarn config set registry <registry-url>
with an optional global flag.