1

バッチ スクリプトを使用して、Windows マシンでの Ruby アプリの展開を自動化しようとしています。

次の行を除いて、すべてが順調に進んでいます。

gem install bundler

これを手動で入力すると、すべてうまくいきます。ただし、バッチ スクリプトを使用すると、インストールが完了するとすぐにプロセスが強制終了されます。これは私が使用しているものです:

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

-f スイッチとすべてのドキュメントを試しました。ウィンドウが殺されるのを妨げるものは何もないようです。インストールをバンドルできるように、プロセスを存続させる必要があります。なぜこれが起こっているのか、インストール後にそれを維持するにはどうすればよいですか?

4

1 に答える 1

6

gemはバッチ ファイル ( gem.bat) です。バッチ ファイルを別のバッチ ファイルから呼び出すと、制御がそのファイルに移され、再開されません。

CALL代わりに次を使用してみてください。

CALL a second batch file CALL コマンドは、指定された引数とともに新しいバッチ ファイル コンテキストを起動します。2 番目のバッチ ファイルの最後に到達すると (または EXIT が使用された場合)、制御は最初の CALL ステートメントの直後に戻ります。

ドキュメントはこちら: http://ss64.com/nt/call.html

に沿って(拡張子のない)ファイルがあるため、ruby -S gem ...どちらがより冗長で機能するかを実行することで、バッチファイルを回避することもできます。gemgem.bat

それが役立つことを願っています。

于 2012-04-06T13:56:33.127 に答える