当我尝试加载Rails控制台(或加载运行Apache/Passenger的网站)时,出现无法加载已安装的gem的错误:未找到Ruby gems,但已安装
> script/console Loading development environment (Rails 2.3.8) no such file to load -- authlogic /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' /var/lib/gems/1.8/gems/rails-2.3.8/lib/rails/gem_dependency.rb:215:in `load' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `load_gems' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `each' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `load_gems' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:164:in `process' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `send' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `run' /home/nblade/vipreblade/src/console/config/environment.rb:11 /usr/lib/ruby/1.8/irb/init.rb:254:in `require' /usr/lib/ruby/1.8/irb/init.rb:254:in `load_modules' /usr/lib/ruby/1.8/irb/init.rb:252:in `each' /usr/lib/ruby/1.8/irb/init.rb:252:in `load_modules' /usr/lib/ruby/1.8/irb/init.rb:21:in `setup' /usr/lib/ruby/1.8/irb.rb:54:in `start' /usr/bin/irb:13 no such file to load -- machinist /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' /var/lib/gems/1.8/gems/rails-2.3.8/lib/rails/gem_dependency.rb:215:in `load' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `load_gems' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `each' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `load_gems' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:164:in `process' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `send' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `run' /home/nblade/vipreblade/src/console/config/environment.rb:11 /usr/lib/ruby/1.8/irb/init.rb:254:in `require' /usr/lib/ruby/1.8/irb/init.rb:254:in `load_modules' /usr/lib/ruby/1.8/irb/init.rb:252:in `each' /usr/lib/ruby/1.8/irb/init.rb:252:in `load_modules' /usr/lib/ruby/1.8/irb/init.rb:21:in `setup' /usr/lib/ruby/1.8/irb.rb:54:in `start' /usr/bin/irb:13 no such file to load -- authlogic /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' /var/lib/gems/1.8/gems/rails-2.3.8/lib/rails/gem_dependency.rb:215:in `load' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `load_gems' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `each' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `load_gems' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:169:in `process' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `send' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `run' /home/nblade/vipreblade/src/console/config/environment.rb:11 /usr/lib/ruby/1.8/irb/init.rb:254:in `require' /usr/lib/ruby/1.8/irb/init.rb:254:in `load_modules' /usr/lib/ruby/1.8/irb/init.rb:252:in `each' /usr/lib/ruby/1.8/irb/init.rb:252:in `load_modules' /usr/lib/ruby/1.8/irb/init.rb:21:in `setup' /usr/lib/ruby/1.8/irb.rb:54:in `start' /usr/bin/irb:13 no such file to load -- machinist /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in' /var/lib/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' /var/lib/gems/1.8/gems/rails-2.3.8/lib/rails/gem_dependency.rb:215:in `load' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `load_gems' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `each' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:307:in `load_gems' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:169:in `process' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `send' /var/lib/gems/1.8/gems/rails-2.3.8/lib/initializer.rb:113:in `run' /home/nblade/vipreblade/src/console/config/environment.rb:11 /usr/lib/ruby/1.8/irb/init.rb:254:in `require' /usr/lib/ruby/1.8/irb/init.rb:254:in `load_modules' /usr/lib/ruby/1.8/irb/init.rb:252:in `each' /usr/lib/ruby/1.8/irb/init.rb:252:in `load_modules' /usr/lib/ruby/1.8/irb/init.rb:21:in `setup' /usr/lib/ruby/1.8/irb.rb:54:in `start' /usr/bin/irb:13 Missing these required gems: authlogic machinist You're running: ruby 1.8.7.249 at /usr/bin/ruby1.8 rubygems 1.3.5 at /var/lib/gems/1.8 Run `rake gems:install` to install the missing gems.
所以,我也跟着安装宝石的说明如下:
> sudo rake gems:install --trace (in /home/nblade/vipreblade/src/console) DEPRECATION WARNING: Rake tasks in vendor/plugins/delayed_job/tasks, vendor/plugins/easy-fckeditor/tasks, vendor/plugins/jrails/tasks, and vendor/plugins/restful_authentication/tasks are deprecated. Use lib/tasks instead. (called from /var/lib/gems/1.8/gems/rails-2.3.8/lib/tasks/rails.rb:10) ** Invoke gems:install (first_time) ** Invoke gems:base (first_time) ** Execute gems:base ** Invoke environment (first_time) ** Execute environment ** Execute gems:install
它没有安装任何东西,所以我检查我的好措施宝石环境:
> gem env RubyGems Environment: - RUBYGEMS VERSION: 1.3.5 - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [i486-linux] - INSTALLATION DIRECTORY: /var/lib/gems/1.8 - RUBY EXECUTABLE: /usr/bin/ruby1.8 - EXECUTABLE DIRECTORY: /var/lib/gems/1.8/bin - RUBYGEMS PLATFORMS: - ruby - x86-linux - GEM PATHS: - /var/lib/gems/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - "gem" => "--no-ri --no-rdoc" - :sources => ["http://gemcutter.org", "http://gems.github.com"] - REMOTE SOURCES: - http://gemcutter.org - http://gems.github.com > which gem /usr/bin/gem > ls -al /usr/bin/gem lrwxrwxrwx 1 root root 21 2010-07-14 11:29 /usr/bin/gem -> /etc/alternatives/gem > ls -al /etc/alternatives/gem lrwxrwxrwx 1 root root 15 2010-07-14 11:29 /etc/alternatives/gem -> /usr/bin/gem1.8 > ls -al /usr/bin/gem1.8 -rwxr-xr-x 1 root root 545 2009-10-09 17:51 /usr/bin/gem1.8 > echo $PATH /var/lib/gems/1.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games > echo $GEM_PATH /var/lib/gems/1.8: > which ruby /usr/bin/ruby > ls -al /usr/bin/ruby lrwxrwxrwx 1 root root 7 2010-07-13 19:54 /usr/bin/ruby -> ruby1.8 > ls -al /usr/bin/ruby1.8 -rwxr-xr-x 1 root root 5488 2010-03-19 10:53 /usr/bin/ruby1.8 > /usr/bin/ruby -v ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]
我也验证了宝石安装:
> ls -al /var/lib/gems/1.8/gems | grep authlogic drwxr-xr-x 7 root root 4096 2010-08-03 12:14 authlogic-2.1.5 > ls -al /var/lib/gems/1.8/gems | grep machinist drwxr-xr-x 4 root root 4096 2010-08-03 12:14 machinist-1.0.6
所以,很显然,我做错了什么,但我不知道要检查什么。有什么建议么?
谢谢。
您是否可能安装了多个版本的Ruby? – Karl 2010-08-03 21:06:19
这就是我认为的,所以我仔细检查了: >其中红宝石 在/ usr/bin中/红宝石 > LS -al在/ usr/bin中/红宝石 lrwxrwxrwx 1根根7 2010-07-13 19:54/usr/bin/ruby - > ruby1.0 > ls -al /usr/bin/ruby1.8 -rwxr-xr-x 1 root root 5488 2010-03-19 10:53/usr/bin/ruby1。 8 – 2010-08-03 21:17:11
谢谢!在我的情况下,gem更新之后突然gem env显示'安装目录:/ usr/lib/ruby/gems/1.9.1',它从/var/lib/gems/1.9.1/gems/更改或突然失踪。通过软链接进行修补。 'gem1.9.1 list'是空的,我所有的脚本都失败了,在我安装了100之前。 – Marcos 2012-03-20 14:46:33