更新了Ruby Gems并打破了整个网站



我试图在Linux盒子上安装一个网站,我遇到了GEMS错误,Google告诉我更新GEMS。所以我做到了..找出网站是他们的生产,现在已经下降了。我运行以下命令,现在发生了。

sudo gem update --system

我尝试过: gem update --system 1.8.25

并有以下错误:

 Updating rubygems-update
    Fetching: rubygems-update-1.8.25.gem (100%)
    Successfully installed rubygems-update-1.8.25
    Parsing documentation for rubygems-update-1.8.25
    file 'hide_lib_for_update' not found
    file 'History.txt' not found
    file 'LICENSE.txt' not found
    file 'MIT.txt' not found
    file 'Manifest.txt' not found
    file 'README.rdoc' not found
    file 'UPGRADING.rdoc' not found
    file 'hide_lib_for_update/note.txt' not found
    ERROR:  While executing gem ... (NoMethodError)
        undefined method `store' for #<RDoc::RDoc:0x7fe8216341e0>

下面是屏幕上的完整错误消息。我真的是Rails和Ruby的新手。

Error message:
no such file to load -- rubygems/source_index (MissingSourceFile)
Exception class:
PhusionPassenger::UnknownError
Application root:

0   /usr/lib64/rubyee/site_ruby/1.8/rubygems.rb 982 in `_deprecated_source_index'
1   /usr/lib64/rubyee/site_ruby/1.8/rubygems/deprecate.rb   39  in `skip_during'
2   /usr/lib64/rubyee/site_ruby/1.8/rubygems.rb 981 in `_deprecated_source_index'
3   /usr/lib64/rubyee/site_ruby/1.8/rubygems/deprecate.rb   63  in `send'
4   /usr/lib64/rubyee/site_ruby/1.8/rubygems/deprecate.rb   63  in `source_index'
5   /usr/lib64/ruby/gems/1.8/gems/rails-2.3.14/lib/rails/gem_dependency.rb  21  in `add_frozen_gem_path'
6   /usr/lib64/ruby/gems/1.8/gems/rails-2.3.14/lib/initializer.rb   298 in `add_gem_load_paths'
7   /usr/lib64/ruby/gems/1.8/gems/rails-2.3.14/lib/initializer.rb   132 in `process'
8   /usr/lib64/ruby/gems/1.8/gems/rails-2.3.14/lib/initializer.rb   113 in `send'
9   /usr/lib64/ruby/gems/1.8/gems/rails-2.3.14/lib/initializer.rb   113 in `run'
11  /usr/lib64/rubyee/site_ruby/1.8/rubygems/custom_require.rb  36  in `gem_original_require'
12  /usr/lib64/rubyee/site_ruby/1.8/rubygems/custom_require.rb  36  in `require'
13  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb   222 in `preload_application'
14  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb   181 in `initialize_server'
15  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/utils.rb   572 in `report_app_init_status'
16  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb   174 in `initialize_server'
17  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb 204 in `start_synchronously'
18  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb 180 in `start'
19  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb   149 in `start'
20  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb   219 in `spawn_rails_application'
21  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb  132 in `lookup_or_add'
22  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb   214 in `spawn_rails_application'
23  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb  82  in `synchronize'
24  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb  79  in `synchronize'
25  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb   213 in `spawn_rails_application'
26  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb   132 in `spawn_application'
27  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb   275 in `handle_spawn_application'
28  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb 357 in `__send__'
29  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb 357 in `server_main_loop'
30  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb 206 in `start_synchronously'
31  /usr/lib64/ruby/gems/1.8/gems/passenger-3.0.11/helper-scripts/passenger-spawn-server    99  

您的宝石降级过程失败了,因为它无法生成文档(可能是RDOC版本问题)。

您可以尝试在不生成这样的文档的情况下尝试运行降级:

gem update --system 1.8.25 --no-rdoc --no-ri 

看看是否有助于完成降级...

更新系统GEMS时,版本bump。您的项目正在加载一些新版本,而某些内容则无法正常工作。

,您应该首先尝试将CD降低到您的应用程序中并运行bundle(或sudo bundle,如果您使用此方式)。这将使用您的Gemfile.lock来找到要安装的正确版本。

如果事情仍然不起作用,请尝试查明哪个GEM失败,并在Gemfile中指定工作版本。类似于gem 'mygem', '~> 1.0.0',该版本的工作正常。然后运行bundlesudo bundle进行更新。

您应该尝试使生产机器与当地环境保持均衡。应该使用相同的红宝石版本,理想情况下是类似的架构。这样,相同的宝石将被安装在两个地方,您可以在本地进行调试。

我还听到了建议将项目的宝石与系统隔离开来的建议。您可以使用rbenvRVM进行此操作。然后,您将不再使用sudo安装宝石。以为我不确定这是否可以在这里解决任何问题。

最新更新