1

Intel iMac でデフォルトの Ruby インストール (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

require ruby​​gems ステートメントをコメントアウトすると、次のエラーが発生します。

==> 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 を実行しています。私は何か基本的な間違ったことをしていると確信していますが、私は困惑しています。

4

2 に答える 2

0

Ruby 1.8.7を実行している場合は、次のrequireステートメントを残す必要があります。

require "rubygems"

Ruby 1.8はデフォルトでgemについて認識していなかったため、Rubyにgemローダーを要求するように指示する必要がありました。Ruby 1.9+はそれをバンドルしているので、必要なことをする必要はありません。

これはMac(またはWindowsまたはLinux)OSとは関係がなく、Rubyのデフォルトのロードパスに関するものです。

また、安全上のヒントとして、AppleがインストールしたRubyを台無しにしないでください。彼らはそれを彼ら自身の使用のためにインストールしました、そしてそれはいくつかのポッドキャスト作成ツールに使用されました。そして、将来のある時点で、Ruby(またはPythonまたはPerl)の予想される構成を利用する何かをシステムに追加したいと思うかもしれません。変更する(またはさらに悪いことに、削除する)と、混乱する可能性があります。したがって、そのままにして、rbenvまたはRVMのいずれかを使用してRubyをサンドボックスにインストールすることをお勧めします。

于 2012-11-04T20:05:15.880 に答える
0

OS X のバージョンは?もしそれがライオンズだったら、あなたは不運です。wxwidgets ライブラリ (およびそれに基づく wxruby など) はまだ 32 ビットのみで、Carbon ベースです。Lions は 64 ビットのみであり、Carbon は非推奨です。

于 2012-11-04T20:25:15.537 に答える