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



当我在服务器RVM上输入我的rails目录时切换到

/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

中寻找gem

my .rvmrc file:

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

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

rvm use ruby-1.9.2@mygemset

无论何时cd到该目录,rvm将使用.rvmc文件中的设置

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的gems

相关内容

最新更新