私のシステム:Windows 7 x64。RubyInstallerからインストールされたrubyがdllがgem/libフォルダ内に置かれていない理由を教えてください。
私がインストールした:RubyInstallerから
- ルビー(1.8.7)
- レーキ
- 宝石は今のlibxml-rubyの--platform = MSWIN32
をインストールするGemをインストールし、私が作ったとき:
require 'xml'
libxml2-2.dll(とlibiconv-2.dll)が見つかりませんでした。私はこれら2つのライブラリを 'Ruby187 \ lib \ ruby \ gems \ 1.8 \ gems \ libxml-ruby-1.1.4-x86-mswin32-60 \ lib \'に見つけることができます。私はそれらを 'Ruby187 \ bin'フォルダにコピーするとすべてが動作します。
しかし...
私は昔のワンクリックインストーラからルビーをインストールする場合、のlibxml-ルビーはルビー\ binフォルダにそれらのDLLのをコピーせずに動作します。私はPATH変数を調べました - libxml-ruby libフォルダを指していないので、IMHOのルビーは他の方法でそれらを見つけます。
質問があります。 RubyInstallerのRubyはOneClick Installerのものと似たような働きをしますか?私は\ libフォルダをPATHに追加したくないのですが(OneClickインストーラはそれを必要としません)、dllをRuby \ binにコピーしたくありません。
'$:'変数をチェックしましたか? –
@Martin Carpenter bingo :)なぜそこに追加されなかったのか?どちらのインストールでも私はRubyGems 1.3.7を持っています – Marqus
彼の宝石にmingw32プラットフォームをサポートするには、libxml-rubyの作者に確認する必要があります。間違ったRUBY_PLATFORMが一致するため、DLLが見つからないことがあります。 –