1

Windows でいくつかの ruby​​ ファイルから実行可能ファイルを作成しようとしているので、Ocra をインストールしました。Ocra の動作プロセスは理解できたと思いますが、実行可能ファイルを正しく動作させることができないようです。私が抱えている問題は、他のルビーファイルを「必要とする」ことで発生します。

ruby プログラム自体は正しくコンパイルされ、希望どおりに機能し、Ocra は動作する実行可能ファイルを作成しているようですが、実行可能ファイルを実行しようとすると、次のエラーが発生します。

*/custom_require.rb:36:in 'require': そのようなファイルを読み込めません -- MainMenuDialog.rb (LoadError)*

私のメイン プログラムは「JobManager.rb」と呼ばれ、新しい MainMenuDialog オブジェクトを作成しているため、ファイルの先頭に MainMenuDialog.rb を次のように含めます。

$: << File.expand_path(File.dirname(__FILE__) + "/../lib")
# Other requires here
require("MainMenuDialog.rb")

繰り返しますが、プログラムはそれ自体で (require ステートメントを含めて) 完全に正常にコンパイルおよび実行されます。コマンドocra JobManager.rbを実行すると、プログラムが正常に実行され、依存関係がチェックされ、実行可能ファイルが作成されます。上記の「LoadError」が原因で、実行可能ファイルを実行できません。

私が間違っていることについて何か考えはありますか?前もって感謝します!!!

4

2 に答える 2

2

ruby >= 1.9 で試すことができますrequire_relative

説明: ocra はすべてのファイルを独自のサブディレクトリに保存します。

ロード パス ($:) を操作すると、実行中に ocra が何を使用するかわかりません。

于 2013-05-09T20:21:40.113 に答える
0

この質問は古くて答えがありますが、ここでの正しい答えは私の問題を解決しなかったため、Ocraのドキュメントで見つけたこの小さなナゲットを含めたいと思いました:

OCRA はインクルード パスを設定しません。$:.unshift File.dirname($0)メイン スクリプトと同じディレクトリから追加のソース ファイルを「要求」する必要がある場合は、スクリプトの開始時に使用します。

于 2016-05-05T15:43:31.403 に答える