NoMethodError: неопределенный метод «выполнить» или «запустить» капистрано 3

Я пытаюсь вызвать php-скрипт после развертывания в моем скрипте capistrano, получая следующую ошибку, если пытаюсь выполнить

NoMethodError: undefined method `execute' for main:Object

Если я попытаюсь запустить, я получаю следующую ошибку

NoMethodError: undefined method `run' for main:Object

Ниже приведен сценарий, который я использую

namespace :deploy do
        task :run_sql do
            run  "php -q /home/mydir/public_html/index.php argumen1 argument2 argument3 argument4"  
        end
end
after :deploy, "deploy:run_sql"

любые предложения, что я делаю неправильно?

PS: я выполню это после развертывания, как только мой код будет развернут, и этот файл php будет на сервере, на который я развертываю.


person Arihant Godha    schedule 26.12.2014    source источник
comment
можете показать полный скрипт и его расположение?   -  person Rustam A. Gasanov    schedule 26.12.2014
comment
Вы не ответили на проблему с выполнением - похоже, что метода по какой-то причине нет. Я думаю, что бег — отвлекающий маневр.   -  person Ghoti    schedule 15.03.2015


Ответы (1)


Ваш синтаксис для версии 2.x. См. здесь: неопределенный метод `run' для main:Object

namespace :deploy do
  on roles :all do
    execute :php, "-q /home/mydir/public_html/index.php argumen1 argument2 argument3 argument4"
  end
end
person shivam    schedule 26.12.2014
comment
Ариант - вам не хватает блока on roles(:all) - когда он у вас есть, он работает. - person Ghoti; 15.03.2015