我找到这些错误(通过调试),不明白为什么我得到它们。我不确定是否有重复的文件出于某种原因。我使用的是.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
是的,rvm专为管理多个ruby版本而设计。我的猜测是,有一个不是由rvm管理的已安装的ruby版本。我会检查路径。 –
另外你如何开始你的应用程序?如果您使用捆绑软件,那么将Gem版本固定在Gemfile中是一种好的做法。然后总是以'bundle exec'开始调用你的应用程序, –