【问题标题】:Simple ruby interpreter problem : `require': no such file to load -- (LoadError)简单的 ruby​​ 解释器问题:`require': no such file to load -- (LoadError)
【发布时间】:2010-10-14 00:04:21
【问题描述】:

当我从 OSX 命令行运行 main.rb 文件时得到这个

`require': no such file to load -- EngineAPIWrapper (LoadError)

我尝试将它引用的所有文件放在同一个文件夹中而不是符号链接中,但我仍然遇到问题

如果我需要 main.rb 文件顶部的“rubygems”,则会收到此错误:

link-mbp:~ benb$ ruby /Library/Application\ Support/Episode/Engine/SDK/Samples/ruby/xmlrpc/engine_client.rb 
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- EngineAPIWrapper (LoadError)
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
    from /Library/Application Support/Episode/Engine/SDK/Samples/ruby/xmlrpc/engine_client.rb:14

源文件的顶部是这样的:

require 'rubygems'
require 'xmlrpc/client'
require 'EngineAPIWrapper'
require 'pp'
require 'English'    

也就是说,我认为我的运行方式没有任何问题。

感谢任何帮助!

【问题讨论】:

    标签: ruby sdk libraries require


    【解决方案1】:

    在 99% 的情况下,当计算机告诉您它找不到某物时,原因是它不存在。在另外 1% 的情况下,计算机正在寻找错误的位置。

    因此,为了使require 'EngineAPIWrapper' 工作,必须有一个名为EngineAPIWrapper.rb 的文件,并且该文件必须位于Ruby 的$LOAD_PATH 中的目录中。

    【讨论】:

    • 我需要从脚本所在的路径运行脚本,或者让 ruby​​ 知道加载路径中的文件。
    • 我不能只说 ruby​​ /Library/ 而是需要 cd 到文件路径.. 即使这样我也必须确保在 arch -i386 模式下运行它是一些 32 位依赖项。
    【解决方案2】:

    运行gem list。是否提到了 EngineAPIWrapper?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多