2017-07-02 1 views
0

私はこれらのエラーを(デバッグを介して)見つけているのですが、なぜそれらを取得しているのかわかりません。私は、理由のためにファイルが重複しているかどうかはわかりません。私は.rvmを使用していますが、gemsディレクトリにはrubyディレクトリがありますが、.rvm/ruby​​/ruby​​-'version 'ディレクトリもあります。私はルビーと宝石のフォルダ構造についての情報を見つけようとしていましたが、これまでのところ運がなかったのです。存在するファイルの例外ロードエラー

他の言葉で私はRubyの複数のバージョンを持っている可能性があります。そうでないものがありますか?例はここ

Exception `LoadError' at /home/vagrant/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems.rb:1346 - cannot load such file -- rubygems 
defaults/operating_system 

**Yet I did a find the file** 
./vagrant/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/rubygems.rb 
./vagrant/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems.rb 
./vagrant/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/bundler-1.15.0/lib/bundler/plugin/installer/rubygems.rb 
./vagrant/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/bundler-1.15.0/lib/bundler/source/rubygems.rb 
./vagrant/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/plugin/installer/rubygems.rb 
./vagrant/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/source/rubygems.rb 
./vagrant/.rvm/gems/ruby-2.4.1/gems/rubygems-update-2.6.12/bundler/lib/bundler/plugin/installer/rubygems.rb 
./vagrant/.rvm/gems/ruby-2.4.1/gems/rubygems-update-2.6.12/bundler/lib/bundler/source/rubygems.rb 
./vagrant/.rvm/gems/ruby-2.4.1/gems/rubygems-update-2.6.12/lib/rubygems.rb 
[email protected]:/home$ 

をrubygems.rb

はまだシナトラがここ

を実行していたkernel_require.rb

Exception `LoadError' at /home/vagrant/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55 - cannot load 
such file -- sinatra 

するためのものであるkernel_requiresは

です
./vagrant/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb 
./vagrant/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb 
./vagrant/.rvm/gems/ruby-2.4.1/gems/rubygems-update-2.6.12/lib/rubygems/core_ext/kernel_require.rb 
+0

はい、rvmは複数のルビーバージョンを管理するために設計されています。私の推測では、rvmによって管理されていないrubyのインストールされたバージョンがあるということです。私はパスをチェックします。 –

+0

また、アプリをどのように起動していますか?バンドルを使用している場合は、gemfileにあなたのgemのバージョンを固定するのが良い方法です。それから、常に 'bundle exec'で始まるあなたのアプリを起動してください –

答えて

0

最初は、管理されていない別のRuby-Vがあると思っていましたが、RVM構造を通過して矛盾が見られませんでした。

ディレクトリ構造(RVMサイトにはない)を見たい人は、hereです。

それから、私の読み込みエラーになりました。私はあなたがデバッグを実行している場合、ロードエラー、rubygems.rbのためのファイルが見つかりませんでしたが、通常だったと言うルビーのトランクの問題のポストを発見しました。私はそれがルビーの外部源を見ていると信じていますか?

最後の問題は、/forwardable/impl.rbの構文エラーでした。これは、再度デバッグが設定されたためです。今私はメッセージが何を意味しているのか完全には分かっていませんが、参照されている行6は 'resue SyntaxError'です。

私はもう少しRVM、宝石といくつかのバンドラーを使って学びました。サイドノート、私はSinatraアプリケーションでバンドルexecを使用することができました。

関連する問題