rails version and copying app

I volunteer for a non-profit with a Ruby on Rails app and they recently lost their web developer. I have done a lot of programming from Perl to PHP and ASP, but never RoR. I’ve become somewhat familiar and been able to track down and make some cosmetic changes to some of the apps web pages, but I wanted to make sure what versions I’m dealing with and having a problem finding the Rails version. I found some instruction on how to determine and see we have ruby 1.9.3, but there is no rails command and not on the gems list, see below. How do I find my rails version?

root@app01:~/www# ruby -v

ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]

root@app01:~/www# rails -v

rbenv: rails: command not found

The `rails’ command exists in these Ruby versions:

1.9.3-p448

root@app01:~/www# gem list

*** LOCAL GEMS ***

activemodel (4.0.0)

activerecord (4.0.0)

activerecord-deprecated_finders (1.0.3)

activerecord-mysql-adapter (0.0.1)

activesupport (4.0.0)

arel (4.0.0)

atomic (1.1.13)

bigdecimal (1.1.0)

builder (3.1.4)

bundler (1.3.5)

i18n (0.6.5)

io-console (0.3)

json (1.5.5)

minitest (4.7.5, 2.5.1)

multi_json (1.7.9)

mysql (2.9.1)

rake (0.9.2.2)

rdoc (3.9.5)

thread_safe (0.1.2)

tzinfo (0.3.37)

This install is on a Ubuntu VPS using the nginx web server, I would like to get a copy of the app running on a local Ubuntu server I have in my office, but I am only running Apache on it now and would like to possibly run the app on Apache versus installing nginx. Hopefully I can do that once I have all my version information, but I’m also reading several different ways to install Rails, and what is passenger? The service to start nginx on the VPS is nginx-passenger. Any advice on the best way for me to go about getting my own copy of the app running would be appreciated. I have a copy of its MySQL db copied and loaded already, just need to get the app working.

Thanks for any help!

I volunteer for a non-profit with a Ruby on Rails app and they recently lost their web developer. I have done a lot of programming from Perl to PHP and ASP, but never RoR. I've become somewhat familiar and been able to track down and make some cosmetic changes to some of the apps web pages, but I wanted to make sure what versions I'm dealing with and having a problem finding the Rails version. I found some instruction on how to determine and see we have ruby 1.9.3, but there is no rails command and not on the gems list, see below. How do I find my rails version?

root@app01:~/www# ruby -v ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux] root@app01:~/www# rails -v rbenv: rails: command not found

The `rails' command exists in these Ruby versions:   1.9.3-p448

root@app01:~/www# gem list

*** LOCAL GEMS ***

activemodel (4.0.0)

That tells you it is rails 4.0.0 as activemodel is one of the components. However, rather than seeing what versions are installed (there could be more than one version of the gems installed) look in the file Gemfile.lock in the applications root folder and you will see what versions it /requires/.

I suggest you work right through a good tutorial such as railstutorial.org (which is free to use online) which will show you the basics of rails. A few days spend doing that will save you time in the long run.

This install is on a Ubuntu VPS using the nginx web server, I would like to get a copy of the app running on a local Ubuntu server I have in my office, but I am only running Apache on it now and would like to possibly run the app on Apache versus installing nginx. Hopefully I can do that once I have all my version information, but I'm also reading several different ways to install Rails, and what is passenger? The service to start nginx on the VPS is nginx-passenger. Any advice on the best way for me to go about getting my own copy of the app running would be appreciated. I have a copy of its MySQL db copied and loaded already, just need to get the app working.

If you want this for development work then I suggest you install rails using rvm [1] That will give you a complete working setup in a few minutes.

Colin

[1]rvm.io

Colin Law wrote:

That tells you it is rails 4.0.0 as activemodel is one of the components. However, rather than seeing what versions are installed (there could be more than one version of the gems installed) look in the file Gemfile.lock in the applications root folder and you will see what versions it /requires/.

I have several GIT entries in the Gemfile.lock file and a list of gems after the following lines, but this list looks much more extensive than 'gem list' shows ...

GEM    remote: https://rubygems.org/    specs:      <list of gems>

Then under DEPENDENCIES, I see ...

rails (= 3.2.13)

Does that explain my rails version? I don't see any references to 4.0.0.

I suggest you work right through a good tutorial such as railstutorial.org (which is free to use online) which will show you the basics of rails. A few days spend doing that will save you time in the long run.

Yes, I've already found that and been reading, thanks.

If you want this for development work then I suggest you install rails using rvm [1] That will give you a complete working setup in a few minutes.

I used rvm to install same ruby-1.9.3-p392 as the VPS, following a doc here...

After all setup in Apache, I am getting this Passenger application error in the browser....

cannot load such file -- bundler/setup (LoadError) /usr/share/ruby-rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' /usr/share/ruby-rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' /usr/share/ruby-rvm/gems/ruby-1.9.3-p392/gems/passenger-4.0.53/lib/phusion_passenger/loader_shared_helpers.rb:263:in `block in run_load_path_setup_code' /usr/share/ruby-rvm/gems/ruby-1.9.3-p392/gems/passenger-4.0.53/lib/phusion_passenger/loader_shared_helpers.rb:366:in `running_bundler' /usr/share/ruby-rvm/gems/ruby-1.9.3-p392/gems/passenger-4.0.53/lib/phusion_passenger/loader_shared_helpers.rb:261:in `run_load_path_setup_code' /usr/share/ruby-rvm/gems/ruby-1.9.3-p392/gems/passenger-4.0.53/helper-scripts/rack-preloader.rb:100:in `preload_app' /usr/share/ruby-rvm/gems/ruby-1.9.3-p392/gems/passenger-4.0.53/helper-scripts/rack-preloader.rb:158:in `<module:App>' /usr/share/ruby-rvm/gems/ruby-1.9.3-p392/gems/passenger-4.0.53/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>' /usr/share/ruby-rvm/gems/ruby-1.9.3-p392/gems/passenger-4.0.53/helper-scripts/rack-preloader.rb:28:in `<main>'

Perhaps I need to get some more gems installed? I did a 'gem install bundle' and still get the error. My gem list is this so far on the dev server I am trying to setup, not sure if this error is affecting things as well...

root@media:/etc/apache2# gem list /usr/share/ruby-rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>': It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.

*** LOCAL GEMS ***

bundle (0.0.1) bundler (1.7.4) daemon_controller (1.2.0) passenger (4.0.53) rack (1.5.2) rake (10.3.2)

On the production server, I have...

*** LOCAL GEMS ***

activemodel (4.0.0) activerecord (4.0.0) activerecord-deprecated_finders (1.0.3) activerecord-mysql-adapter (0.0.1) activesupport (4.0.0) arel (4.0.0) atomic (1.1.13) bigdecimal (1.1.0) builder (3.1.4) bundler (1.3.5) i18n (0.6.5) io-console (0.3) json (1.5.5) minitest (4.7.5, 2.5.1) multi_json (1.7.9) mysql (2.9.1) rake (0.9.2.2) rdoc (3.9.5) thread_safe (0.1.2) tzinfo (0.3.37)

But again the list in the Gemfile.lock file lists many more. Just trying to get a grasp of where to go from here, what is need to get this copy to run, appreciate any help!

My guess is that the system ruby (the one you get when you type “gem list” by default) is NOT the one the app is using. You may want to check the app directories for a “.rvmrc” or “.ruby-version” file, or the nginx config for a setting telling it which Ruby to use…

–Matt Jones