3

したがって、Rakefile と Gemfile の基本的な概念は理解しています (rakefile は、基本的にアプリケーションをコンパイルしてリンクするための依存関係リストとシェル コマンドにすぎませんが、gemfile はアプリケーションの gem バージョンの依存関係を指定します)。より具体的には、大学でプロジェクト用のプロジェクトがあり、Ruby 1.8.7 と JRuby 1.7 を使用して、ローカル マシンに RVM を介してインストールした一連の gem を使用します。

問題は、Uni のコンピュータ ラボでアプリケーションをコンパイルしてエラーなしで実行する必要があるのに、これらのマシンに Uni の JRuby がないことです。シェル アカウントにインストールできます。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 に答える