2012-11-07 15 views
12

Ho fatto un file batch cercando di impostare rake/ambiente tonno bianco su Windows:di file batch non viene eseguito il comando successivo dopo 'gem install'

@echo off 

echo Setting up rake environment for building 

echo Installing Bundler 
gem install bundler 

echo Bundle Installing gems 
bundle install 

Quando eseguo questo file batch (o doppio click o eseguire all'interno di una finestra di cmd), viene eseguito solo il primo comando gem. Il 'pacchetto di installazione' non viene mai chiamato. Ecco l'output:

C:\>InstallGems.bat 
Setting up rake environment for building 
Installing Bundler 
Successfully installed bundler-1.2.1 
1 gem installed 
Installing ri documentation for bundler-1.2.1... 
Installing RDoc documentation for bundler-1.2.1... 

C:\> 

ho aggiunto 'pausa' dopo il primo 'gem install' di comando e sembra che la 'pausa' non viene mai eseguito uno.

Qualche idea?

+0

È possibile che Gem stesso sia un file batch o che lo script sia in qualche modo interrompibile a causa di un errore e che non ti indichi l'errore. –

risposta

19

Ah, l'ho capito: basta aggiungere "chiama" prima di ogni comando.

@echo off 

echo Setting up rake environment for building 

echo Installing Bundler 
call gem install bundler 

echo Bundle Installing gems 
call bundle install 
+4

sembra gemma è un batchfile stesso. a causa del modo in cui è stato precedentemente utilizzato, per compatibilità con le versioni precedenti, questo comportamento è di progettazione: http://stackoverflow.com/questions/11638705/why-does-calling-a-nested-batch-file-without-prepending-call- to-the-line-uscita – SeanC

Problemi correlati