У меня есть небольшой скрипт ruby, который работает отлично, когда я запускаю его вручную из командной строки. Он использует три драгоценных камня, которые я установил с помощью «gem install X», а в верхней части файла сценария у меня есть строки «require X». Все работает нормально.Запустить скрипт ruby из задачи rake
Теперь я создаю задачу в Rake, которая вызовет мой рубиновый скрипт. Я пытался как использование
system("/tools/myscript.rb #{foo} #{bar}")
и
`/tools/myscript.rb #{foo} #{bar}`
но оба дают мне эту ошибку:
myscript.rb:2:in `require': no such file to load -- ruby-audio (LoadError)
Это кажется, что камень не правильно загружена. Я попытался добавить драгоценные камни в Gemfile моего приложения Rails, но после того, как все необходимые драгоценные камни были добавлены, и я запустил bundle update
, это закончилось ошибкой с адаптером mysql, который не работает из моего сценария.
Но так как сценарий отлично работает из командной строки, я думал, что на самом деле должен быть простой способ вызвать его из задачи Rake.
Любые идеи?
какой-либо конкретной причины, почему вы не интегрировать код на Ruby из сценария в задачу вместо обстреливать и выполнять скрипт в отдельном процессе? – awendt
Да, 1) этот конкретный код делится другими вещами и 2) он скорее всего будет переписан на C++ позже. –