0

Ruby 1.9.3-p374 を rbenv にインストールしたばかりで、作業中のアプリケーションにバンドルしています。ただし、バンドルに到達するbinding_of_callerと、次のエラーが表示されます。

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
extconf.rb:7: uninitialized constant RUBY_ENGINE (NameError)

を実行echo $RUBY_ENGINEすると、空白の文字列が表示されます。手動でに設定RUBY_ENGINErubyても役に立ちません。

どうすればこの問題を回避できますか?

4

2 に答える 2

2

RUBY_ENGINERUBY_VERSIONは両方とも、実行中の ruby​​ プログラムに対して ruby​​ によって定義された定数です。これらは、コマンドが手ぶらで返される理由を説明するプレーンシェルで使用できる環境変数ではありません。echo

また、スタックトレースの抜粋からもわかるように、Mac では Ruby 1.9.3 ではなくデフォルトの Ruby 1.8 を使用しています。Ruby 1.8 ではRUBY_ENGINE利用できないため、観察したエラーが発生します。

そして、これらすべての原因はおそらく単純に、rbenv がインストールされた ruby​​ を実際に使用するように切り替えていないことです。そのためには、シェルで次のようなことを試しrbenv global 1.9.3-p374て、現在のルビが正しいものであることを確認する必要があります(たとえば、を確認してくださいruby --version)。

于 2013-03-14T12:37:41.780 に答える