0

我有一个小的 ruby​​ 脚本,当我从命令行手动运行它时,它运行得很好。它使用了我使用“gem install X”安装的三个 gem,并且在脚本文件的顶部有“require X”行。一切正常。

现在我正在 Rake 中创建一个任务,它将调用我的 ruby​​ 脚本。我试图同时使用

system("/tools/myscript.rb #{foo} #{bar}")

`/tools/myscript.rb #{foo} #{bar}`

但两者都给了我这个错误:

myscript.rb:2:in `require': 没有要加载的文件 -- ruby​​-audio (LoadError)

似乎 gem 没有正确加载。我尝试将 gem 添加到我的 Rails 应用程序的 Gemfile 中,但在添加了所有必要的 gem 之后,我运行bundle update它以错误结束,mysql 适配器无法从我的脚本中运行。

但由于脚本在命令行中运行良好,我认为确实应该有一种简单的方法从 Rake 任务中调用它。

有任何想法吗?

4

1 回答 1

3

利用

bundle exec <script>

确保为要运行的脚本加载捆绑的 Gem

于 2013-03-04T09:57:10.320 回答