简体   繁体   中英

How do I run 'rails server' inside a shell script?

I'm trying to write a shell script that automatically runs my rails app in a virtual machine.

My script code is this:

#!/bin/sh
PATH='/usr/local/rvm/gems/ruby-2.0.0-p481/bin'
cd /home/lgdelacruz/SampleApp
rails server

But for some reason it doesn't see all the dependencies. this gives me the error

/usr/bin/env: ruby: No such file or directory

I'm positive ruby is installed in the virtual machine. I can run rails server by manually going inside my virtual machine going to my SampleApp folder and running rails server there and everything works fine. But for some reason when I put all that in a shell script. it doesn't work.

You've probably got to initialize RVM in your script first. Try putting this line in:

source "$HOME/.rvm/scripts/rvm"

You might also need to specify a gemset, if you're using something other than the default:

rvm use @mygemset

See the RVM scripting docs for details.

In your shell script, you've reset your path to only include /usr/local/rvm/gems/ruby-2.0.0-p481/bin. ruby is usually installed somewhere like /usr/local/bin

instead you could concatenate that directory onto the end of your existing path.

something like:

export PATH=$PATH:/usr/local/rvm/gems/ruby-2.0.0.p482/bin

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM