Gem通过Windows中的批处理脚本安装Bundler - 进程被杀死?

时间:2012-04-05 14:52:00

标签: ruby-on-rails ruby ruby-on-rails-3 gem bundler

我正在尝试使用批处理脚本在Windows计算机上自动执行ruby应用程序部署。

除了以下几行外,一切都很花哨:

gem install bundler

如果我手动输入,一切顺利。但是,如果我使用批处理脚本,则一旦安装完成,该进程就会被终止。这就是我正在使用的:

pause
gem install bundler --no-ri --no-rdoc
pause

我尝试过-f开关和所有文档;似乎没有什么能阻止窗户被杀死。我需要保持活动的过程,所以我可以捆绑安装。知道为什么会这样,以及我如何在安装后保持活着?

1 个答案:

答案 0 :(得分:6)

gem是一个批处理文件(gem.bat)。当您从另一个批处理文件调用批处理文件时,它正在将控制转移给它而不是恢复。

您应该尝试使用CALL

  

调用第二个批处理文件   CALL命令将启动新的批处理文件上下文以及任何指定的参数。   到达第二个批处理文件的末尾(或者如果使用EXIT),控件将返回   在最初的CALL声明之后。

此处的文档: http://ss64.com/nt/call.html

您也可以通过执行ruby -S gem ...来避免批处理文件,因为gem上有gem.bat(无扩展名)文件,所以{{1}}更详细并且可以正常工作。

希望有所帮助。