我试图在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
答案 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'
的地方,其中已知版本正在运行。然后运行bundle
或sudo bundle
进行更新。
您应该尝试让您的生产机器与您的本地环境保持一致。应该使用相同的Ruby版本,理想情况下是类似的架构。这样,两个地方都会安装相同的宝石,您可以在本地进行调试。
我还听到过建议将您的项目宝石与您的系统隔离开来。您可以使用rbenv
或RVM
来执行此操作。然后,您不再使用sudo
来安装宝石。我以为我不确定这是否可以解决任何问题。