2017-07-02 10 views
0

我找到这些错误(通过调试),不明白为什么我得到它们。我不确定是否有重复的文件出于某种原因。我使用的是.rvm,它有一个包含ruby目录的gems目录,但是也有.rvm/rubies/ruby​​-'version'目录。我试图找到关于红宝石和宝石文件夹结构的一些信息,但到目前为止没有多少运气。异常加载错误,存在的文件(即使在多个地方?)

换句话说,也许这是可能的我有多个版本的Ruby或者是不对的?

例rubygems.rb

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$ 

这里是一个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专为管理多个ruby版本而设计。我的猜测是,有一个不是由rvm管理的已安装的ruby版本。我会检查路径。 –

+0

另外你如何开始你的应用程序?如果您使用捆绑软件,那么将Gem版本固定在Gemfile中是一种好的做法。然后总是以'bundle exec'开始调用你的应用程序, –

回答

0

起初我还以为有另一个Ruby -v没有被管理,但是我经历了RVM结构并没有发现任何差异。我发现它是here

然后它下降到我的负载错误。如果您正在运行调试,则在Ruby主干问题中发现了一个表示加载错误的文章,没有找到针对rubygems.rb的文件是正常的。我相信它正在研究rubygems的外部来源?

最后一个问题是/forwardable/impl.rb的语法错误。这是因为,再次设置了调试。现在我不完全确定消息的含义,但引用的行6是'resue SyntaxError'。

所以我学习了更多使用RVM,宝石和一些捆绑器。注意,我可以在Sinatra应用上使用bundle exec。

相关问题