3

所以我了解了 Rakefile 和 Gemfile 的基本概念(rakefile 基本上只是编译和链接应用程序的依赖项列表和 shell 命令,而 gemfiles 指定应用程序的 gem 版本依赖项),但是我应该如何统一使用它们呢?更具体地说:我在 Uni 有一个项目,我将使用 Ruby 1.8.7 和 JRuby 1.7 以及通过 RVM 在本地计算机上安装的一组 gem。

问题是我的应用程序必须在我的 Uni 的计算机实验室上编译和运行而没有错误,而 Uni 在这些机器上没有 JRuby。我可以安装到我的 shell 帐户上,我使用 JRuby 来编译我的应用程序,但现在我需要输入 jruby 安装的完整路径来编译我的项目(类似于 /usr/home/usrname/blah /jruby-1.7.0),我觉得这很烦人,我想要更简单的东西(同时学习)。

我 Uni 的机器安装了 Rake,我想知道是否可以设置一个 rake 文件来调用 JRuby 和我需要的所有 gem(在 gemfile 中指定它们各自的安装路径)。这可能吗?还是我以错误的方式考虑 rakefile 和 gemfile?

谢谢!

4

1 回答 1

1

Rakefile 用于设置在项目上下文中运行 Rake 的依赖项。您已经正确描述了 Gemfile 的用途。

Rake 是一个独立于 JRuby 的程序。它将包含在 JRuby 安装的 bin 文件夹中。当您到达您的 Rakefile 时,您已经处于错误版本的 Rake 的上下文中(包含在常规 Ruby 安装中的版本)。

我认为您正在寻找的只是对您的路径的修改。在您的路径中包含您的 JRuby bin 文件夹,这将允许您指定要使用的 Rake 版本。

对于 JRuby 版本:

jruby -S rake your:task

或者只是普通的 Ruby 版本:

rake your:task
于 2012-11-06T02:08:50.483 回答