2012-06-29 2 views
0

J'essaie de créer un fichier rake qui exécute à la fois redis et irb. J'ai compris comment exécuter IRB (la première tâche s'exécute), mais quand j'essaye d'exécuter la tâche de redis je vois l'erreur:Comment démarrer redis en tant que tâche rakefile

rake aborted! mauvais nombre d'arguments

Exactement quel est le problème? Mon code est ci-dessous:

task :default do 
    require 'irb' 
    IRB.start 
end 

task :init do 
    require 'redis' 
    exec {'redis-server'} 
end 

Commande j'utiliser pour exécuter le code:

bundle râteau exec (ou un râteau: init, selon lequel je veux courir)

Répondre

1

Vous recevez un Erreur d'argument car exec attend un argument de chaîne, et vous lui envoyez un bloc. exec ne fait rien avec votre bloc et veut une chaîne. Utilisez exec "redis-server" pour exécuter la commande correctement.

Espérons que le résultat est ce que vous cherchez. Je ne sais pas pourquoi vous avez besoin de redis du tout puisque vous n'utilisez pas la gemme, vous exécutez simplement une commande. Le comportement de cette tâche ne serait pas différent de courir redis-server sur la ligne de commande.

+0

Cela a fonctionné! Je vous remercie! (nécessitant redis gem = erreur de débutant) – skyfaerie

Questions connexes