我正在尝试通过 Rails 3 模板设置 RVM gemset,然后通过模板中的命令开始使用 gemset 并将 gems 安装到新的 gemset 中(以应用程序命名)。这似乎无法正常工作。新的 gem 没有安装到 gemset 中,实际上 gemset 根本没有被创建。
以下是从模板文件中提取的一些相关代码:
rvmrc = <<-RVMRC
rvm_gemset_create_on_use_flag=1
rvm_trust_rvmrcs=1
rvm gemset use #{app_name}
RVMRC
create_file ".rvmrc", rvmrc
然后,再往前走:
run "cd path/to/new/app"
run 'gem install bundler --pre'
run 'bundle install'
我还尝试了一个不同的版本:
inside app_name do
run 'gem install bundler --pre'
run 'bundle install'
end
第三个版本:
inside app_name do
run "rvm gemset create #{app_name} && rvm gemset use #{app_name}"
run 'gem install bundler --pre'
run 'bundle install'
end
如果我只是在模板运行后cd 进入控制台中的新应用程序文件夹,它就可以完美地工作。我收到 RVM 消息:“信息:现在使用 gemset 'test_app'。” 如果我此时运行 bundle install 命令,gems 会正确安装到新的 gemset 中,但是如果我只是从模板文件中运行这些命令,我将无法获得相同的结果。
应用程序生成器的日志这样说:
run cd ~/rails3_sites/test_app from "."
run gem install bundler --pre from "./test_app"
run bundle install from "./test_app"
我错过了什么?任何帮助是极大的赞赏。顺便说一句,我正在使用 ruby 1.9.2。
谢谢,
〜安德里亚