Ruby找不到RubyGems或WX模块



我正在我的英特尔iMac上运行默认的露天安装(Ruby 1.8.7(2010-01-10 Patchlevel 249)[i686-darwin10])。我更新了RubyGems并安装了WXRUBY GEM。我正在尝试运行以下示例程序:

#!/usr/bin/ruby
require "rubygems"
require "wx"

class MyApp < Wx::App
    def on_init
        @frame = Wx::Frame.new(nil, -1, "The Bare Minimum")
        @frame.show()
    end
end
app = MyApp.new()
app.main_loop()

我会收到以下错误:

==> wxruby-test.rb
/Library/Ruby/Gems/1.8/gems/wxruby-1.9.3-universal-darwin/lib/wxruby2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/wxruby-1.9.3-universal-darwin/lib/wxruby2.bundle, 9): no suitable image found.  Did find: (LoadError)
    /Library/Ruby/Gems/1.8/gems/wxruby-1.9.3-universal-darwin/lib/wxruby2.bundle: no matching architecture in universal wrapper - /Library/Ruby/Gems/1.8/gems/wxruby-1.9.3-universal-darwin/lib/wxruby2.bundle
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require'
    from /Library/Ruby/Gems/1.8/gems/wxruby-1.9.3-universal-darwin/lib/wx.rb:12
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `gem_original_require'
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `require'
    from wxruby-test.rb:3

如果我评论RubyGems语句,我会收到以下错误:

==> wxruby-test.rb
wxruby-test.rb:3:in `require': no such file to load -- wx (LoadError)
    from wxruby-test.rb:3

我是Mac上Ruby的新手,我敢肯定,这可能是与路径有关的一些基本错误,但是关于环境变量的大多数解释都是针对经验丰富的用户。如果您需要其他命令的输出,请告诉我。我正在从TCSH外壳中运行Ruby。我敢肯定我在做错了什么,但我只是很难过。

如果您正在运行Ruby 1.8.7,则应留在require语句中:

require "rubygems"

Ruby 1.8默认情况下不知道宝石,因此我们必须告诉Ruby需要Gems Loader。红宝石1.9 捆绑它,因此我们不再需要执行要求。

这与Mac(或Windows或Linux)OS无关,它与Ruby的默认负载路径有关。

,作为安全提示,不要弄乱苹果安装的红宝石。他们安装了它供自己使用,并用于某些播客创建工具。而且,在未来的某个时候,他们可能想在系统中添加一些利用Ruby(或Python或Perl)的配置的系统。更改(或更糟糕的是,删除它)会弄乱您。因此,我建议您不理会它,并使用RBENV或RVM将Ruby安装在沙箱中,您可以安全地戳,prod和with and tod。

哪个版本的OS X?如果这是狮子之一,那么您就不幸了。WXWIDGETS库(以及基于它的事物,例如Wxruby)仍然只有32位,并且基于碳。狮子只有64位,碳被贬低。

相关内容

  • 没有找到相关文章

最新更新