2015-01-08 9 views
1

Gemfile에서 몇 가지 사항을 변경했지만 이전 항목의 내용을 추적하고 싶습니다. 그래서 나는 낡은 것을 Gemfile.old로 바꿨다. 그것은 무시 될 것이다. 그러나 일부 변경 및 번들 실행 후에는이 파일을 찾지 않아서 레일 서버가 단순히 중지되었습니다.Gemfile.old를 찾지 못했습니다.

여기가 로그입니다.

/Users/viniciusbolzani/.rvm/gems/[email protected]/gems/bundler-1.7.11/lib/bundler/definition.rb:22:in `build': /Users/viniciusbolzani/work/cart/Gemfile.old not found (Bundler::GemfileNotFound) 
    from /Users/viniciusbolzani/.rvm/gems/[email protected]/gems/bundler-1.7.11/lib/bundler.rb:155:in `definition' 
    from /Users/viniciusbolzani/.rvm/gems/[email protected]/gems/bundler-1.7.11/lib/bundler.rb:118:in `setup' 
    from /Users/viniciusbolzani/.rvm/gems/[email protected]/gems/bundler-1.7.11/lib/bundler.rb:134:in `require' 
    from /Users/viniciusbolzani/work/cart/config/application.rb:7:in `<top (required)>' 
    from /Users/viniciusbolzani/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:121:in `require' 
    from /Users/viniciusbolzani/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:121:in `require' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `block in server' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `tap' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `server' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>' 
    from /Users/viniciusbolzani/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:128:in `require' 
    from /Users/viniciusbolzani/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require' 
    from /Users/viniciusbolzani/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:39:in `require' 
    from /Users/viniciusbolzani/work/cart/bin/rails:8:in `<top (required)>' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/spring-1.2.0/lib/spring/client/rails.rb:27:in `load' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/spring-1.2.0/lib/spring/client/rails.rb:27:in `call' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/spring-1.2.0/lib/spring/client/command.rb:7:in `call' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/spring-1.2.0/lib/spring/client.rb:26:in `run' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/spring-1.2.0/bin/spring:48:in `<top (required)>' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/spring-1.2.0/lib/spring/binstub.rb:11:in `load' 
    from /Users/viniciusbolzani/.rvm/gems/ruby-2.1.5/gems/spring-1.2.0/lib/spring/binstub.rb:11:in `<top (required)>' 
    from /Users/viniciusbolzani/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /Users/viniciusbolzani/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /Users/viniciusbolzani/work/cart/bin/spring:16:in `<top (required)>' 
    from bin/rails:3:in `load' 
    from bin/rails:3:in `<main>' 

Rails가 확장을 실제 파일로 식별하여 필요로하는 이유를 알 수있는 사람이 있습니까?

+0

btw. 방금 Gemfile.old를 복원하고 번들을 실행했습니다. Gemfile.lock 레일즈는 Gemfile.old.lock을 생성했으며 이제 레일즈 서버는 정상적으로 작동합니다. 댓글을 주신 덕분에 – vinibol12

답변

1

구성에 문제가 있다고 생각합니다.

응용 프로그램 내부의 bin 디렉토리에는 Gemfile 파일 이름 처리 방법을 지정하는 몇 가지 실행 파일이 있습니다. 기본 파일 이름은 Gemfile이지만 어떻게 든 변경되었을 수 있습니다.

나는 당신이 당신의 응용 프로그램의 루트에

grep -R -i -n 'Gemfile.old' * 

을 실행하고 곳이 이름에 대한 참조가 있는지 확인하시기 것이다. 그리고 그 경우에는 적절하게 변경하십시오.

+0

그게 효과가있다. Gemfile.old가 기본 참조로 설정되었음을 알았습니다. 감사 – vinibol12

0

레일즈가 Gemfile이라는 파일에 언급 된 모든 보석을 고려하므로 Gemfile의 이전 버전을 저장할 필요가 없습니다.이 목적으로 github 또는 bitbucket과 같은 버전 툴을 사용할 수 있습니다.

새 gem을 추가 할 때마다 Gemfile.lock 파일은 사용자가 마지막으로 변경 한 사항을 알고 있는지 확인하기 위해 gem 이름과 버전을 추가합니다. 이와 같은 경우, 여러 개의 파일을 동일한 이름으로 유지하려는 경우 더 많은 혼란을 야기 할 수 있습니다. 또한 Gemfile.lock은 사용 된 모든 보석 버전을 저장하므로 모든 버전 번호가 무엇인지 생각할 수 있습니다 사용되었습니다.

+0

. 사실 그것은 단지 더 혼란을 일으켰습니다. 나는 아직도 레일이 그 파일을 찾는 이유를 찾는 방법을 아직도 모른다. 응용 프로그램을 실행할 때 탐색 할 레일에 대한 기본 참조로 설정된 위치를 찾아야합니다. – vinibol12

관련 문제