0

Ruby 1.9.2以降、「。」セキュリティ上の理由から、あなたのパスにはもうありません。これは、特定の gem (1.9 に更新されていないものだと思いますか?) を使用するときに問題になるようです。この問題は、次のようなエラーをスローします。

$HOME/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in 'require': cannot load such file -- rubylog (LoadError)

私はこの問題を一度見て修正しました.(おそらく素朴に)いくつかのrequireをrequire_relativesに変更することで:

rubylog を使用したいのですが、custom_require エラーが発生するので、同じトリックを試しました: https://github.com/mathpunk/rubylog/commit/995e13dccc6a197d280d0783f3fb7fe50deabd02

しかし、今回は同じエラーが発生しています。他に何を試すことができますか?

ETA:これまでずっと、gem をインストールするために使用してきましたがsudo gem install blah、何らかの理由で、rubyloggem install rubylogがそれを実行します。(RVM と関係がありますか?) これですべてが機能します。ありがとうございました。

4

2 に答える 2

0

ライブラリ ディレクトリを LOAD_PATH に追加するだけです。

$LOAD_PATH.unshift(File.dirname(__FILE__))

Ruby のロード パスを理解する\を参照してください

編集:rubylogスクリプトが実行されている場所にディレクトリがあると思いました。スクリプトが見つからない場合はrubylog、その場所をロード パスに追加する必要があります。

$LOAD_PATH.unshift('/path/to/rubylog')

rubylog ライブラリを持っていますか?gem install rubylog

于 2012-09-20T23:15:24.703 に答える
0

あなたのコードはで失敗しますrequire 'rubylog'- そのため、rubylog.rb 自体を見つけることができません。そのため、rubylog.rb を含む dir をロード パスに追加するだけ$: << 'rubylog'です。

于 2012-09-20T23:41:04.767 に答える