Basically, there are two more or less normal ways of how to deploy nodejs application: shipit and flightplan. They both are not as good as such tools like capistrano for ruby or deployer for php. But, if you desire to use the same ecosystem for deployment as you use for development then you don't have much choices.
Comparing shipit and flightplan, I can say that the first one is more modular and has some good plugins and also supports "rolling releases" feature out of the box, while the last one is simpler.
Both on remote and in local environment I got used to use nvm to switch nodejs versions. And here I faced a problem.