There is fundamental problem with ruby gem sets where commands like rake xxxx might create error because command might use global version of rake while your gemfile requires very specific version.
I know 2 ways to mitigate this.
Use
bundle execin front of rake and rails commands. For examplebundle exec rake db:migrateAdding this in front makes sure command is executed in relation of the current bundle meaning the bundle that got created when you runbundle install.Using RVM. There is less known way of creating local gemset with RVM. First you create directory for your new app in this case
mkdir myapp,cd myappand then runrvm use ruby-2.3.0@myapp --ruby-version --createfor creating local gem set with nothing in it. Now you can rungem install railsandrails new .to create rails myapp with it's dedicated gem environment in the folder you are in.
As nice extra RVM will swap to right gemset every time you cd to myapp directory automatically.
As for as I understand both approaches work, but are there any known issues why you would not use one of approaches above?