2013-01-15 6 views
0

나는 Rails 2.3.2를 Rails 2.3.2를 실행하는 오래된 Rails 앱을 최신 Rails 2.3.15로 업그레이드하려고합니다. 이 앱은 원래 vendor/rails에 레일의 vendored 버전을했다하지만 난 rails 2.3.15 보석을 설치 한 것을 제거했으며,에 config/environment.rb에 버전 번호를 변경 : 응용 프로그램을 다시 시작하면Ruby 2.3.15 오류 : 형식이 잘못된 버전 번호 문자열

RAILS_GEM_VERSION = '2.3.15' unless defined? RAILS_GEM_VERSION 

, 나는이 오류 메시지가 mongrel log (앱 시작을 막음) :

/usr/local/lib/site_ruby/1.8/rubygems/version.rb:53:in `initialize': Malformed version number string (ArgumentError) 
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:105:in `new' 
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:105:in `version_for_dir' 
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:47:in `refresh!' 
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:45:in `each' 
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:45:in `refresh!' 
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:29:in `initialize' 
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/gem_dependency.rb:21:in `new' 
    from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path' 
    ... 17 levels... 
    from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run' 
    from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281 
    from /usr/bin/mongrel_rails:19:in `load' 
    from /usr/bin/mongrel_rails:19 

이 오류를 극복하기 위해해야 ​​할 일은 무엇입니까? 내 질문에 대한 답을 발견

+2

사용중인 버전 번호를 볼 수 있도록 'RAILS_GEM_VERSION'을 출력 할 수 있습니까? – Phrogz

+0

언제/어디서 할 수 있니? – Andrew

+0

오류의 원인 ('rubygems/version.rb' 즉,'rubygems'의'version' 모듈) 때문에'rubygems'가 자신의 버전 번호가 잘못되었다고 말하는 것 같습니다. 로드하려고하는 보석의 형식이 잘못되었습니다. 흠. – Matchu

답변

1

...

레일 디렉토리 만이 vendor/gems에있을 것입니다 만, 부하 경로에 보석을 (추가하려고했다가에 init.rb 파일이 있다는 것을 기대 된 이미 Rails에서 처리하고 있습니다).