0

I cloned a Rails app developed by another person within my company from Github.

When I cd into the app's directory I get this message in the terminal:

You are using '.rvmrc', it requires trusting, it is slower and it is not compatible with other ruby managers,
you can switch to '.ruby-version' using 'rvm rvmrc to [.]ruby-version'
or ignore this warning with 'rvm rvmrc warning ignore /Users/george/evil-genius/Loopadoop/.rvmrc',
'.rvmrc' will continue to be the default project file in RVM 1 and RVM 2,
to ignore the warning for all files run 'rvm rvmrc warning ignore all.rvmrcs'.

Then when I try to run any rails command e.g. rails server I get this error:

/Users/george/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [rvm-1.11.3.8] (Gem::LoadError)
    from /Users/george/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
    from /Users/george/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/rubygems.rb:1231:in `gem'
    from /Users/george/.rvm/rubies/ruby-1.9.3-p448/bin/rails:22:in `<main>'

If I run rvm rvmrc to .ruby-version, I no longer get the "you are using '.rvmrc'..." warning, but I still get the same error message about railties when trying to run rails commands.

rvm list shows these versions of Ruby installed:

rvm rubies

 * ruby-1.9.3-p385 [ x86_64 ]
=> ruby-1.9.3-p448 [ x86_64 ]
   ruby-2.0.0-p195 [ x86_64 ]
   ruby-2.0.0-p247 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

And my rvm version is 1.22.18.

What's happening? I don't understand rvm or .rvmrc files at all, and all other Rails stuff in other apps on my machine work perfectly fine. How can I get this rails app to work?

FWIW, here's what the .rvmrc file looks like when I first clone the repo from GH. (Comments removed for brevity):

#!/usr/bin/env zsh

environment_id="ruby-1.9.3-p448@loopAdoop"

if [[ -d "${rvm_path:-$HOME/.rvm}/environments"
  && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
then
  \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
  for __hook in "${rvm_path:-$HOME/.rvm}/hooks/after_use"*
  do
    if [[ -f "${__hook}" && -x "${__hook}" && -s "${__hook}" ]]
    then \. "${__hook}" || true
    fi
  done
  unset __hook
  if (( ${rvm_use_flag:=1} >= 2 )) # display only when forced
  then
    if [[ $- == *i* ]] # check for interactive shells
    then printf "%b" "Using: \E[32m$GEM_HOME\E[0m
" # show the user the ruby and gemset they are using in green
    else printf "%b" "Using: $GEM_HOME
" # don't use colors in non-interactive shells
    fi
  fi
else
  rvm --create  "$environment_id" || {
    echo "Failed to create RVM environment '${environment_id}'."
    return 1
  }
fi

And after I run rvm rvmrc to .ruby-version, the .rvmrc file is deleted, and two new files are generated: .ruby-gemset, which just contains the name of my app, and .ruby-version, which just contains the text "ruby-1.9.3-p448"

GMA
  • 5,816
  • 6
  • 51
  • 80

1 Answers1

0

you need to run:

gem install bundler &&
bundle install

it will install the gems needed for this project

you can make it automated on cd with:

echo rvm_autoinstall_bundler_flag=1 >> ~/.rvmrc
mpapis
  • 52,729
  • 14
  • 121
  • 158
  • Doesn't work: `/Users/george/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/rubygems/dependency.rb:247:in \`to_specs': Could not find bundler (>= 0) amongst [rvm-1.11.3.8] (Gem::LoadError)`. All the gems in my Gemfile are 100% definitely already installed on my machine as I use them all the time in other projects. – GMA Oct 10 '13 at 03:09