RVM переключается на гемный набор @global вместо определенного - PullRequest
1 голос
/ 30 декабря 2011

Когда я вхожу в мой каталог rails на сервере, RVM переключается на

/home/capistrano/.rvm/gems/ruby-1.9.2-p290@global/bin/bundle

хотя он должен использовать ruby-1.9.2-p290@mygemset/bin/bundle, так как он работает на моей локальной машине. Когда я набираю rvm use 1.9.2@mygemset, это работает. Сервер Nginx также ищет драгоценные камни в наборе @global gemset

мой .rvmrc файл:

environment_id="ruby-1.9.2-p290@mygemset"

if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
  && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
then
  \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"

  if [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]]
  then
    . "${rvm_path:-$HOME/.rvm}/hooks/after_use"
  fi
else
  # If the environment file has not yet been created, use the RVM CLI to select.
  if ! rvm --create use  "$environment_id"
  then
    echo "Failed to create RVM environment '${environment_id}'."
    return 1
  fi
fi

Ответы [ 2 ]

0 голосов
/ 12 июня 2012

RVM быстро развивается, поэтому синтаксис и функциональность команд иногда меняются. Во всяком случае, я решил это с обновлением до стабильного RVM:

rvm get stable

, который сейчас rvm 1.14.1 (stable). После этого такие команды, как rvm 1.9.3-p194@mygemset --create работают отлично.

Еще одна вещь, которую мне не хватало, - это новый синтаксис для выполнения команд:

rvm @mygemset do bundle install

Это установит все гемы для данного набора гемов и ruby, указанных в файле .rvmrc

0 голосов
/ 30 декабря 2011

Я не уверен, что понял вас, но вы можете поместить файл .rvmc в вашу папку rails и вставить что-то вроде этого.

rvm use ruby-1.9.2@mygemset

Всякий раз, когда вы переходите в этот каталог, rvm будет использовать настройки из файла .rvmc.

...