
プログラミングの知識はほぼ皆無なのですが、仕事でRUBYを使わなければならなくなり、オープンソースを弄っているところです。
rbファイルの記述に
require '○○'
とあるのですが、判らなかったので無視して実行してみたところ、
C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot loa
d such file -- ○○ (LoadError)
from C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require
'
from makeindex.rb:2:in `<main>'
というエラーが出ました。
○○ファイルを色々なディレクトリに置いてみたのですが、どれも同じエラーでした。
一般的に、○○ファイルは何処に置くべきなのでしょうか。
尚、環境は以下の通りです。
WindowsXP
RUBY 1.9.3
「require '○○'」の記述があるrbファイルの場所 c:\a
rbファイルはカレントディレクトリをaにしてから実行
プログラマーの方からすれば意味不明な質問かも知れませんが、ネットで調べてみてもさっぱり判らなかったので質問させて頂きました。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
カレントディレクトリがロード対象のパスから外れているようですね。
1.○○.rbをスクリプトファイルと同じ場所に置いた場合は、オプションでカレントディレクトリを追加する
> ruby -I. foo.rb
2.スクリプトファイル内でパスを追加する
$LOAD_PATH.push('.') # この行をrequreの前に追加
require '○○'
3.あるいは既に定義されているパスに○○.rbを置くとか
パスの確認は以下でできます。
> ruby -r pp -e"pp $LOAD_PATH"
こんな感じでどうでしょうか。
どれも駄目でした…。
HTMLを生成するスクリプトなのですが、一応HTML自体は生成されます。
ただ、そのコード中に○○の記述があり、そこから下が生成されていないようです。
ANo.2の方が仰っている「ファイルの性格」に問題があるのかも知れません。
もう少し悪戦苦闘してみます。
こんな曖昧な質問に詳しくお答え頂き、ありがとうございました。
No.5
- 回答日時:
たびたびすみません。
確認事項ですが、require '○○'
が仮に
require 'abc'
だとすると
ファイル名はabc.rbと拡張子がrbになっていますよね。
それとそのファイルをテキストエディタで読み込み可能で、rubyで書かれていますのね。
(バイナリだと違う拡張子になります)
No.4
- 回答日時:
ANo.3の続きですが、
ANo.1とANo.2をやったけども駄目だったという解釈での回答です。
質問を見ますと、makeindex.rbでエラーが出ていますので
require '○○'
はmakeindex.rbにあるコマンドですよね??
まず irbを起動して
ANo.1で触れられていますように
$LOAD_PATH
でどうなりますか?
そこに出力されているフォルダのどれかに ○○が入っていますよね?
次に
require '○○'
を入力してください。
同じように
LoadError: no such file to load --○○
と出ますか?
No.3
- 回答日時:
require '○○'
の部分を
p(require '○○')
に変えたらどんなメッセージが出ますか?
trueかfalseが返ってくるのであればちゃんと読まれています。
LoadError: no such file to load --○○
とかだとファイルが見つからないということです。
ファイルは見つかったけど、そのファイルの中にエラーがある可能性もあります。
その場合が想定できるのでしたら、
コマンドirbを入れて、irbが起動した後に
require '○○'
でエラーメッセージがでますのでそれを見て対処してください。
No.2
- 回答日時:
そのrequireするファイルの性格によります。
汎用のライブラリを自分で作ったと言う場合は、置き場所は自分たち用のライブラリ置き場である
C:\Ruby193\lib\ruby\site_ruby\1.9.1\
ですね。
requireするメインのプログラムと同時にしか使わないという物であれば、同じディレクトリに置いて、
require './○○'
と、./ を前置します。以前のバージョンでは、カレントディレクトリのファイルをパスなしでrequire出来ましたが、セキュリティ強化のためversion1.9.2から出来なくなりました。
というのが一般論ですが、以前のバージョン用に書かれたソフトをver1.9.3で使いたいと言うことであれば、"./" をつけるという書き直しが面倒だと思うので、No1の方の回答通り、LOAD_PATH に . を含めるのが楽でしょう。もしそのソフトが、ver1.8用のソフトであればそのままでは1.9.3で動かない可能性もかなりありますので、その場合は、ver1.8.7をインストールしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
(再質問)エクセルのマクロボ...
-
パソコンのスクリーンセーバー...
-
pandasでsqlite3にテーブル作成...
-
WIN11にオフイスを複数入れるこ...
-
回復ドライブとインストールメ...
-
英数字を含む文字列(0-9,A-Z)...
-
VBScriptでExcel(2019)上のデー...
-
C++のCreateFile関数で、ASCII...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラーが起こる理由を教えてい...
-
rubyでパケットキャプチャ出来...
-
ruby.exeとrubyw.exeに違いがあ..
-
RubyでMySQLを使いたいけど。
-
小文字wと大文字Wの区別
-
ruby on railsインストールでエ...
-
プログラミング言語で大文字と...
-
COBOLのIFの入れ子について
-
VB.NETで階乗を求めるプログラ...
-
web上のhtmlファイルから文字デ...
-
画像をページ右側に並べる方法...
-
Xcodeでランダム整数
-
RubyでNo such file or directo...
-
Pro*CとCの間|変数の有効範囲
-
プログラミング講師はまだ需要...
-
rubyプログラムからrubyプログ...
-
ruby の File.exist? メソッド...
-
たびたびすいません。VBAです。
-
Ruby / passenger のインストー...
-
GoTo文について
おすすめ情報