我目前正在使用 Capistrano 从本地机器部署到开发服务器。开发服务器为我的项目提供了一个名为“vcc”的 gemset,但正如互联网上所清楚的那样,Capistrano 将其捆绑安装到共享/捆绑而不是 rvm gemset。
制作 .rvmrc 文件并在我 cd 进入项目时选择“vcc”gemset 很容易。但是,此 gemset 不会作为部署的一部分进行更新。所以我通常仍然使用“bundle exec”运行我的所有命令,它选择“shared/bundle”而不是 rvm gemset。
我想要做的是让 rvm gemset 保持更新,这样当我 cd 进入项目时,我不必在一切之前运行 bundle exec 。我不确定最好的方法是什么。我唯一的想法是在“vcc”gemset 目录中创建一个指向“shared/bundle”目录的符号链接。我读到了 rvm 应该是自包含的,并且不会跟随 /rvm 目录之外的符号链接?
我已经看到可以将 Capistrano 部署到您的 gemset,但不建议这样做。我很乐意让 Capistrano 处理 gems,让 rvm 处理 ruby,我只是想摆脱“bundle exec”。也许有一种更简单的方法与配置 Capistrano 或 rvm 无关?