【问题标题】:Why ruby installed from RubyInstaller doesn't find dll's placed inside gem/lib folder?为什么从 RubyInstaller 安装的 ruby​​ 找不到放在 gem/lib 文件夹中的 dll?
【发布时间】:2010-12-01 10:14:46
【问题描述】:

我的系统:windows 7 x64。

我已经安装了:

  • RubyInstaller (1.8.7) 中的 ruby​​
  • gem install rake
  • gem install libxml-ruby --platform=mswin32

现在,当我制作时:

require 'xml'

我收到关于缺少 libxml2-2.dll(和 libiconv-2.dll)的错误。我可以在 'Ruby187\lib\ruby\gems\1.8\gems\libxml-ruby-1.1.4-x86-mswin32-60\lib\' 中找到这两个库。当我将它们复制到“Ruby187\bin”文件夹中时,一切正常。

但是……

如果我从旧的 OneClick 安装程序安装 ruby​​,libxml-ruby 无需将这些 dll 复制到 ruby​​\bin 文件夹即可工作。我查看了 PATH 变量 - 它没有指向 libxml-ruby lib 文件夹,所以恕我直言 ruby​​ 以其他方式找到它们。

还有问题。我该怎么办,所以 RubyInstaller 中的 ruby​​ 与 OneClick Installer 中的 ruby​​ 行为相似?我不想将 \lib 文件夹添加到 PATH 中(OneClick 安装程序不需要),我不想将 dll 复制到 Ruby\bin

【问题讨论】:

  • 您检查过$: 变量吗?
  • @Martin Carpenter bingo :) 知道为什么没有添加它吗?在这两种安装中,我都有 RubyGems 1.3.7
  • 您需要与 libxml-ruby 作者确认在他的 gems 中支持 mingw32 平台。由于不正确的 RUBY_PLATFORM 匹配,它可能找不到 DLL。

标签: ruby windows rubygems


【解决方案1】:

如果无法解决,您也可以尝试RubyStack 安装程序。 (我在 Win 7 64 位中使用了许多 gem,迄今为止没有任何问题......)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    相关资源
    最近更新 更多