Как запустить Redis как задачу rakefile

Я пытаюсь создать rakefile, который запускает как redis, так и irb. Я разобрался, как запустить IRB (выполняется первая задача), но когда я пытаюсь запустить задачу redis, я вижу ошибку:

рейк прерван! неправильное количество аргументов

Что именно не так? Мой код ниже:

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

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

Команда, которую я использую для запуска кода:

bundle exec rake (или rake :init, в зависимости от того, что я хочу запустить)


person skyfaerie    schedule 29.06.2012    source источник


Ответы (1)


Вы получаете сообщение об ошибке аргумента, потому что exec ожидает строковый аргумент, а вы отправляете ему блок. exec ничего не делает с вашим блоком и хочет строку.

Используйте exec "redis-server" для правильного выполнения команды.

Надеюсь, результат будет тем, что вы ищете. Не уверен, почему вам вообще требуется redis, поскольку вы не используете драгоценный камень, вы просто выполняете команду. Поведение этой задачи ничем не отличается от простого запуска redis-server в командной строке.

person Carl Zulauf    schedule 29.06.2012