制作rvm gemset镜像/参考Capistrano的捆绑安装

时间:2013-09-04 20:50:35

标签: ruby-on-rails rvm capistrano bundle gemset

我正在使用Capistrano从本地计算机部署到开发服务器。开发服务器为我的项目设置了一个名为“vcc”的gemset,但是从互联网上可以看出,Capistrano将其bundle安装到shared / bundle而不是rvm gemset。

制作.rvmrc文件很容易,并且当我进入项目时选择'vcc'gemset。但是,此gemset不会作为部署的一部分进行更新。所以我通常用'bundle exec'来运行我的所有命令,它选择'shared / bundle'而不是rvm gemset。

我想要做的是让rvm gemset保持更新,这样当我进入项目时,我不必在所有事情之前运行bundle exec。我不确定最好的办法是什么。我唯一的想法是在'vcc'gemset目录中创建一个指向'shared / bundle'目录的符号链接。我读过一些关于rvm应该是自包含的,并且不会遵循/ rvm目录中的符号链接吗?

我已经看到可以将Capistrano部署到您的gemset,但不建议这样做。让Capistrano处理宝石和rvm处理红宝石我很好,我只是想摆脱“捆绑执行”。也许有一种更简单的方法与配置Capistrano或rvm没有任何关系?

1 个答案:

答案 0 :(得分:0)

实际上不建议使用已售卖的宝石,但它的问题很少,而且使用gemset会更安全。

rvm-capistrano已建议您在此处停用已售出的宝石https://github.com/wayneeseguin/rvm-capistrano#disabling-bundle---deployment-when-using-gemsets

set :bundle_dir, ''
set :bundle_flags, '--system --quiet'

这样宝石将安装在gemset中,一切都会正常工作。