更新了Ruby宝石并打破了整个网站

时间:2016-06-15 20:17:38

标签: ruby-on-rails ruby

我试图在Linux机器上安装一个网站,我得到了宝石错误,谷歌告诉我更新宝石。所以我做了..来找出这个网站是他们的产品,现在已经下来了。我运行了以下命令,现在发生了这种情况。

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  

2 个答案:

答案 0 :(得分:2)

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

您可以尝试运行降级而不生成如下文档:

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

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

答案 1 :(得分:0)

更新系统宝石时,版本会发生变化。您的项目正在加载一些新版本,但某些内容无效。

您首先应该尝试访问您的应用并运行bundle(或sudo bundle,如果您已按此方式设置)。这将使用您的Gemfile.lock找到要安装的正确版本。

如果仍然无法正常工作,请尝试确定哪个gem失败并在Gemfile中指定工作版本。类似于gem 'mygem', '~> 1.0.0'的地方,其中已知版本正在运行。然后运行bundlesudo bundle进行更新。

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

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