【发布时间】:2011-03-31 12:23:08
【问题描述】:
在 Rails3 应用程序的 capistrano 部署期间,我希望我的服务器在每次部署时使用 Gemfile.lock 安装 gem。而且由于我的服务器没有 rvm 和所有..所有 gem 都应该作为系统 gem 安装。
要安装系统gem,我们需要将sudo gem install anygem 或对于bunder,我们需要在capistrano 部署结构的current 目录中给出命令sudo bundle install。
每次部署时,我的部署都会在 gems 安装过程中中断。我需要sudo bundle install 才能运行。为此,我需要一个 capistrano 的部署挂钩。 bundler gem 本身提供的预构建的对我不起作用。我的困惑归结为这三个问题。
我应该何时在部署过程中调用
sudo bundle install命令 - 我的意思是在哪个 capistrano 任务之后?为了使用 capistrano 运行
sudo命令,我应该在我的 cap 文件中指定哪些声明?注意 - 我已经将我的公钥作为授权密钥推送到我的服务器中。bundle install hook应该怎么写在
cap文件里?
请帮忙。
【问题讨论】:
-
强烈建议您在生产中使用 rvm,它消除了所有的 sudo 混乱
-
@SamSaffron,有宝石 - 是的。但是如果你使用上帝,你又回到了 sudo mess 。 :-)
标签: ruby-on-rails ruby ruby-on-rails-3 capistrano bundler