1

私はこの質問が数回尋ねられたのを見てきましたが、私にとっては何の回答もありませんでした. rjb のいくつかのバージョン、いくつかの jre バージョンを試しました。何を試しても、rjb gem を使用しようとすると、次のエラーが表示されます。

DL is deprecated, please use Fiddle
C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/bind-it-0.2.7/lib/bind-it/jar_loader.rb:45:in `load': can't create Java VM (RuntimeError)

パスに JAVA_Home があります。rjb をテストするために単純なコードを使用しているだけです。これが機能するために本当に必要なだけなので、スタンフォード オープン nlp gem が機能します。

説明はありますか?そこにいる他の貧しい魂を助けるかもしれません...それが助けになるなら、私はWindowsで実行しています

更新:トラブルシューティングのためにコマンドラインで次のことを試しました

 ruby -d -rubygems -rrjb -e 'Rjb::load'
Exception `LoadError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems.rb:1203 - cannot load such file -- rubygems/defaults/ruby
Exception `LoadError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55 - cannot load such file -- rjb
Exception `Fiddle::DLError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/fiddle.rb:46 - No such file or directory
DL is deprecated, please use Fiddle
Exception `DL::DLError' at -e:1 - No such file or directory
Exception `Fiddle::DLError' at c:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/fiddle.rb:46 - No such file or directory
Exception `DL::DLError' at -e:1 - No such file or directory
Exception `RuntimeError' at -e:1 - can't create Java VM
-e:1:in `load': can't create Java VM (RuntimeError)
        from -e:1:in `<main>'

これはパスまたは JAVA_HOME にエラーがあるということですか? もしそうなら、どうすればそれを正しく設定できますか?

4

1 に答える 1

1

だから私は最終的に解決策に出くわした後。rjb は、java と ruby​​ が両方とも 32 ビットまたは両方とも 64 ビットである場合にのみ機能します。バージョンが異なると、VM エラーが発生します。

解決するには:

  1. ruby -vターミナルで実行している Ruby のバージョンを見つける
  2. Java のバージョンを検索するjavacjava -v、ターミナルで
  3. バージョンが 64 ビットか 32 ビットかを調べる
  4. 異なる場合は、jdk のバージョンを変更する方が簡単だと思いました-jdk をアンインストールします
  5. x86 (32 ビット) バージョンの jdk をダウンロードしてインストールする
  6. JAVA_HOME 環境変数が jdk の場所に設定されていることを確認します (行った変更を有効にするために再起動する必要がある場合があります)。

ブーム-これが他のすべての人にもうまくいくことを願っています!

于 2015-06-12T06:06:14.660 に答える