
プログラミングの知識はほぼ皆無なのですが、仕事で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で質問しましょう!
似たような質問が見つかりました
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- 英語 The crestal approach works well in single or two a 2 2022/04/19 18:59
- Perl perlのrequireの動き方についての質問 2 2022/10/30 17:27
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Ruby Gitのクローンについて 3 2022/04/10 12:28
- Mac OS MacOSのLaunchAgentsってなんですか?使い方など教えてください。 前の質問でLaunc 1 2022/04/24 02:06
- JavaScript 初心者です。gulpでコンパイルができないので教えてください! 1 2023/05/17 17:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
初心者プログラミング
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ルビー言語 ライブラリー 追記
-
ruby while式
-
ruby クラス・オブジェクト・イ...
-
教えてください
-
英数字を含む文字列(0-9,A-Z)...
-
Rubyで掲示板は作れますか
-
(再質問)エクセルのマクロボ...
-
ビーリアルのユーザー名を変え...
-
pandasでsqlite3にテーブル作成...
-
パイソンエラーについて
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Railsでのpaginateの方法
-
ruby inject
-
REXMLの使い方を教えてください
-
Ruby 2.2.3 [x64]について
-
ruby 全角ハイフンを半角ハイフ...
-
gem install railsで「NameErr...
-
MacRubyにおけるコメントアウト...
-
GUIプログラムを作りたいのですが
-
ruby.exeとrubyw.exeに違いがあ..
-
rubygemsとruby twitter gem ...
-
Aptana Studioの複数ファイルの...
-
railsで、データベースのfindの...
-
gem で、install失敗するのは、...
-
フォームのcgi データを削除し...
-
エラー文の意味
-
requireでエラーが起きてしまう
-
rubyのサンプルコードの起動に...
-
twitteのソースでエラーが出て...
-
Rubyにmninrubyをインストール...
-
エラーが起こる理由を教えてい...
おすすめ情報