in my gemfile, I read somewhere that I should put this if I want to 'live compile' the assets each time i deploy.

gem 'therubyracer', :require => 'v8'

When i put this, i can run cap deploy and cap deploy:assets:precompile successfully.

I also read from here that this is an extremely bad idea. So now im confused whether Im supposed to do this or not... When i dont put therubyracer in my gemfile i get an error when i deploy (below), even if i run assets:prcompile first before I deploy... but its my understanding if i DO use that this is a huge amount of overhead...?

could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.