2010-08-03 4 views
2

레일 콘솔을로드하거나 Apache/Passenger를 실행하는 웹 사이트를로드하려고하면 이미 설치 한 보석을로드 할 수 없다는 오류가 발생합니다 :Ruby gem을 찾을 수 없지만 설치되었습니다.

 
> 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] 
을 691,363,210

은 또한 보석이 설치되어 있는지 확인 :

 
> 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 

그래서 분명 뭔가 잘못하고 있어요,하지만 난 확인 다른 모르겠어요. 어떤 제안?

감사합니다.

+0

여러 버전의 Ruby가 설치되어 있습니까? 내가 생각 무엇을, 그래서 확인을 두 번 – Karl

+0

: 는/usr/빈/루비 루비 > > LS -al는/usr/빈/루비 lrwxrwxrwx 1 루트 루트 7 2010-07-13 19시 54분/usr/bin/ruby ​​-> ruby1.8 > ls -al /usr/bin/ruby1.8 -rwxr-xr-x 1 루트 루트 5488 2010-03-19 10:53/usr/bin/ruby1. 8 –

+0

감사합니다. 제 경우에는 보석 업데이트 이후 갑자기 gem env가 /var/lib/gems/1.9.1/gems/에서 변경되었거나 갑자기 사라진 설치 디렉토리 :/usr/lib/ruby ​​/ gems/1.9.1'을 보여주었습니다. 소프트 링크가 패치되었습니다. 100 개가 설치되기 전에'gem1.9.1 list'는 비어 있었고 모든 스크립트는 실패했습니다. – Marcos

답변

5

발견. 이전에 보석을 풀었다는 것을 잊어 버렸으므로 레일 프로젝트의 벤더/보석 아래를 보았습니다. 물론, authlogic이나 machinist gem 디렉토리에는 디렉토리가 존재하지 않았고. 사양 파일). 내가 한 일을 확인하기 위해

rake gems:unpack:dependencies 
rake gems:build 

: 그래서,이 문제를 해결하기 위해 내가 이런 짓을

이제
rake gems 

script/console 및 아파치/여객이 잘 작동!

+0

나만의 답변을 수락하는 것을 잊지 마십시오 – bjg

+0

나는 그것을 받아 들여 보려했지만, 며칠을 기다려야한다고 말하고 있습니다. 머리를 주셔서 감사합니다. –

1

"보석 목록 | grep machinist"목록에 아무것도 있습니까? "gem uninstall machinist"를 실행하고 "gem install machinist"를 실행 해보십시오.

+0

예, 보석 목록에 누락 된 보석이 모두 표시됩니다. 설치 제거/재설치를 시도했지만 도움이되지 않았습니다. 다시 설치 한 후에 내가 가진 것은 다음과 같습니다. > gem list | grep machinist 기계공 (1.0.6) > 보석 목록 | grep authlogic authlogic (2.1.5) –

관련 문제