RVM切换到@global gemset而不是特定的gemset

时间:2011-12-30 10:38:24

标签: ruby-on-rails rvm

当我在服务器RVM上输入我的rails dir切换到

/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 :(得分:0)

我不确定我是否理解你,但你可以在你的rails文件夹中放置一个.rvmc文件并将其放入其中。

rvm use ruby-1.9.2@mygemset

每当你进入该目录时,rvm将使用.rvmc文件中的设置。

答案 1 :(得分:0)

RVM正在快速发展,因此命令的语法和功能有时会有所不同。无论如何,我通过升级到稳定的RVM来解决它:

rvm get stable

现在是rvm 1.14.1 (stable)。之后像rvm 1.9.3-p194@mygemset --create 这样的命令完美无缺。

我缺少的另一件事是执行命令的新语法:

rvm @mygemset do bundle install

这将安装.rvmrc文件中指定的给定gemset和ruby的所有gem。