2011-08-21 2 views
1

EY AppCloud에서 개발 환경에서 실행하더라도 개발 및 테스트없이 번들을 실행합니다. 내 Gemfile이텍스트, 개발 환경에서 Ruby-debug19를 사용하여 AppCloud에 오류 배포

group :test, :development do 
    gem 'ruby-debug19', :require => 'ruby-debug' 
end 

를 포함하고 내가 배포 할 때이 오류가 얻을 : 나는 Gemfile에 보석 '루비 debug19'줄을 주석으로 경우

Successfully installed engineyard-serverside-1.4.2 
1 gem installed 
~> Deploying revision a01f92c migrating to new FactoryGirl 
~> Pushing code to all servers 
~> Starting full deploy 
~> Copying to /data/eg/releases/20110821184344 
~> Ensuring proper ownership 
~> Gemfile detected, bundling gems 
~> Symlinking configs 
ln: creating symbolic link `/data/eg/releases/20110821184344/config/database.yml': File exists 
~> Migrating: cd /data/eg/releases/20110821184344 && PATH=/data/eg/releases/20110821184344/ey_bundler_binstubs:$PATH RAILS_ENV=development RACK_ENV=development MERB_ENV=development rake db:migrate --trace 
rake aborted! 
no such file to load -- ruby-debug 
/usr/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime.rb:68:in `require' 
/usr/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 
/usr/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime.rb:66:in `each' 
/usr/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime.rb:66:in `block in require' 
/usr/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime.rb:55:in `each' 
/usr/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler/runtime.rb:55:in `require' 
/usr/lib/ruby/gems/1.9.1/gems/bundler-1.0.15/lib/bundler.rb:120:in `require' 
/data/eg/releases/20110821184344/config/application.rb:7:in `<top (required)>' 
/data/eg/releases/20110821184344/Rakefile:5:in `require' 
/data/eg/releases/20110821184344/Rakefile:5:in `<top (required)>' 
/data/eg/shared/bundled_gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load' 
/data/eg/shared/bundled_gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile' 
/data/eg/shared/bundled_gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile' 
/data/eg/shared/bundled_gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:78:in `block in load_rakefile' 
/data/eg/shared/bundled_gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/data/eg/shared/bundled_gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile' 
/data/eg/shared/bundled_gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:61:in `block in run' 
/data/eg/shared/bundled_gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/data/eg/shared/bundled_gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:59:in `run' 
/data/eg/shared/bundled_gems/ruby/1.9.1/gems/rake-0.9.2/bin/rake:32:in `<top (required)>' 
/data/eg/releases/20110821184344/ey_bundler_binstubs/rake:16:in `load' 
/data/eg/releases/20110821184344/ey_bundler_binstubs/rake:16:in `<main>' 
~> [Attention] Maintenance page still up, consider the following before removing: 
* any deploy hooks ran, be careful if they were destructive 
* any migrations ran, be careful if they were destructive 
* your old code is still symlinked as current 
Failed deployment recorded in AppCloud 
Deploy failed 

가 작동합니다. 그러나 AppCloud가 테스트, 개발 환경을 무시하기 때문에 무시해야합니다. 두 경우 모두 로컬로 작동합니다. 아무도 이것을 일으킬지도 모르는 것을 모두 생각할 수 있습니까?

답변

3

config/application.rbBundler.require과 약간의 그룹 이름 (Rails.env)을 가지고 있기 때문입니다. 명령 줄의 RAILS_ENVdevelopment입니다. 즉 Bundler.requiredevelopment 그룹을로드하려고 시도하고 그 안에 내용이 필요합니다 (예 : ruby-debug). 번들에 development 그룹이 설치되었으므로 번들이 끊어집니다. AppCloud에 앱 로컬 및 staging 또는 production 중 하나를 귀하의 응용 프로그램을 실행할 때

아마 최고의 RAILS_ENV에 대한 development를 사용합니다.

+0

왜 EY가이 작업을 수행합니까? 모든 경우에 개발 그룹에만 뭔가를 넣은 것처럼 보이지만 응용 프로그램이 시작되지 않습니다 (EY의 개발 모드에서). 그러면 application.rb가 요구하는 보석을 설치하지 않습니다. 또한 '번들 설치 - 개발 테스트 없음'을 실행 한 후 로컬로 재현 할 수 없습니다. 이상하게 보입니다. 감사! – 99miles

+0

왜 EY가 무엇을 할 것입니까? 로컬로 재현 할 수 있습니다 : https://gist.github.com/1162178. 그것은': require => 'ruby-debug19 ''가있을 때만 깨지는 것 같습니다. 번들러의 버그 일 수 있습니다. – dpiddy