当我在服务器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
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