1

我想让我的 Rails 应用程序在“vagrant up”上运行,而无需 ssh 虚拟机并手动运行“rails 服务器”。

为了做到这一点,我在我的 default.rb 配方中有:

execute "rails server" do
  command "cd /vagrant && rails server"
end

这让我的终端保持运行,实际上给了我一个运行的 Rails 服务器。

我还想在“vagrant up”上运行“grunt watch”时,问题就来了。

execute "grunt watch" do
  command "cd /vagrant && grunt watch"
end

问题是,因为'rails server'之前运行并且它不在后台运行,所以'grunt watch'永远不会被执行。

因此,为了在后台运行它们,我在两个命令中都附加了“&”,但是在成功运行“vagrant up”之后,grunt watch 的rails 服务器都没有运行。

我也尝试过预先附加“nohup”命令,但我也没有工作。

这里有指南吗?

4

1 回答 1

0

一种解决方法是:

execute "rails server and grunt watch" do
    command "cd /vagrant && rails server & cd /vagrant && grunt watch"
end
于 2013-06-24T20:26:32.393 回答