我有一个小的ruby脚本,当我从命令行手动运行它时运行正常。它使用我使用“gem install X”安装的三个gem,在脚本文件的顶部我有“require X”行。一切正常。
现在我在Rake中创建一个将调用我的ruby脚本的任务。我试过两个都用
system("/tools/myscript.rb #{foo} #{bar}")
和
`/tools/myscript.rb #{foo} #{bar}`
但两个都给我这个错误:
myscript.rb:2:在`require'中:没有要加载的文件 - ruby-audio (LoadError)
似乎宝石没有正确加载。我尝试将gems添加到我的Rails应用程序的Gemfile中但是在添加了所有必需的gem之后我运行了bundle update
它的错误结果是mysql适配器无法从我的脚本中运行。
但是由于脚本在命令行中运行得很好,我认为应该有一种简单的方法可以在Rake任务中调用它。
有什么想法吗?
答案 0 :(得分:3)
使用
bundle exec <script>
确保为要运行的脚本加载捆绑的Gems