복붙노트

[RUBY-ON-RAILS] 탄성 콩 줄기 루비 / 레일은 자식이 그렇게 작품을 설치 번들 설치해야합니다 ..하지만 아니다

RUBY-ON-RAILS

탄성 콩 줄기 루비 / 레일은 자식이 그렇게 작품을 설치 번들 설치해야합니다 ..하지만 아니다

나는 우리의 레일 응용 프로그램을 배포하는 문제가 있어요 .. 내가 AWS의 예와 같이 후크를 만들어 블로그 하우투 http://ruby.awsblog.com/post/Tx2AK2MFX0QHRIO/Deploying-Ruby-Applications-to-AWS-Elastic- 콩 줄기 - - 힘내과 같은 :

packages:
  yum:
    git: []

심지어는 공급 업체 / 캐시 여전히 점점 모두가 보석 ... 그리고을 가지고 만들 수있는 번들 패키지를 실행 : 자식 : (2-0 안정시) //github.com/refinery/refinerycms-search.git가 체크 아웃되지 않습니다. 실행 설치 번들하십시오 (Bundler를 :: GitError)

어떤 도움 우리는 EB 모든 우리의 애플 리케이션을 이동하려고 좋을 것입니다. 하지만 자식을 설치하지 않거나 뭔가 일이 벌어지고 seens 것을 .. 나는 그것이 생성 EB의 EC2 인스턴스에 이눔 필요가있다.

스택 트레이스 :

Error message:
git://github.com/refinery/refinerycms-search.git (at 2-0-stable) is not checked out.         Please run `bundle install` (Bundler::GitError)
Exception class:
PhusionPassenger::UnknownError
Application root:
/var/app/current
Backtrace:
#   File    Line    Location
0   /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/source.rb 801 in        `rescue in load_spec_files'
1   /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/source.rb 799 in   `load_spec_files'
2   /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/source.rb 381 in `local_specs'
3   /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/source.rb 774 in `specs'
4   /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/definition.rb 174 in `block in resolve'
5   /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/definition.rb 172 in `each'
6   /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/definition.rb 172 in `resolve' 
7   /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/definition.rb 113 in `specs'
8   /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/definition.rb 158 in `specs_for'
9   /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/definition.rb 147 in `requested_specs'
10  /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/environment.rb    23  in `requested_specs'
11  /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/runtime.rb    11   in `setup'
12  /usr/share/ruby/1.9/gems/1.9.1/gems/bundler-1.2.1/lib/bundler.rb    116 in `setup'
13  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/utils.rb    326 in `prepare_app_process'
14  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/rack/application_spawner.rb 156 in `block in initialize_server'
15  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/utils.rb    563 in `report_app_init_status'
16  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/rack/application_spawner.rb 154 in `initialize_server'
17  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-  1002/support/lib/phusion_passenger/abstract_server.rb    204 in `start_synchronously'
18  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/abstract_server.rb  180 in `start'
19  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/rack/application_spawner.rb 129 in `start'
20  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/spawn_manager_orig.rb   253 in `block (2 levels) in spawn_rack_application'
21  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/abstract_server_collection.rb   132 in `lookup_or_add'
22  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/spawn_manager_orig.rb   246 in `block in spawn_rack_application'
23  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/abstract_server_collection.rb   82  in `block in synchronize'
24      prelude>    10:in `synchronize'
25  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/abstract_server_collection.rb   79  in `synchronize'
26  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/spawn_manager_orig.rb   244 in `spawn_rack_application'
27  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/spawn_manager_orig.rb   137 in `spawn_application'
28  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/spawn_manager.rb    16  in `spawn_application_with_env'
29  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/spawn_manager_orig.rb   275 in `handle_spawn_application'
30  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/abstract_server.rb  357 in `server_main_loop'
31  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/lib/phusion_passenger/abstract_server.rb  206 in `start_synchronously'
32  /var/lib/passenger-standalone/3.0.17-x86_64-ruby1.9.3-linux-gcc4.4.6-1002/support/helper-scripts/passenger-spawn-server

UPDATE 대한 추가 정보 : 나는 EC2 사용자 및 통지 그와 인스턴스에 로그인하기로 결정 자식이 설치되어 나는 그들이 모든 쇼까지 오류에 대해 불평하는 것을조차 하나를 번들 목록을 할 때 필요한 보석은 .. 지금까지 내가 볼 수있는 설치 .. 내가 통지를 할 것을 나는 일반적인 보석 목록을 수행 할 때 다음은 표시되지 않습니다 ...하지만 번들 하나를 사용한다.

해결법

  1. ==============================

    1.(다음 해결 방법은 당신이 의존성 힘내 소스를 사용해야하는 경우 사용되어야합니다. 그것을 피할 수있는 경우 외부 Git 저장소에서 종속성을 설치하지 않는 것이 좋습니다. 그 이유에 대한 자세한 내용은 아래를 참조하십시오.)

    (다음 해결 방법은 당신이 의존성 힘내 소스를 사용해야하는 경우 사용되어야합니다. 그것을 피할 수있는 경우 외부 Git 저장소에서 종속성을 설치하지 않는 것이 좋습니다. 그 이유에 대한 자세한 내용은 아래를 참조하십시오.)

    사용 망할 놈의 승객과 함께 Gemfile에 라이브러리를 백업 할 때, 당신은 (당신이 위의 후크에 힘내를 설치 이외에) 설치에 보석을 공유 해제해야합니다. 당신과 같이 파일을 ruby.config / 기존 .ebextensions에 BUNDLE_DISABLE_SHARED_GEMS Bundler를 환경 변수를 설정하여이 작업을 수행 할 수 있습니다 :

    option_settings:
      - option_name: BUNDLE_DISABLE_SHARED_GEMS
        value: "1"
      - option_name: BUNDLE_PATH
        value: "vendor/bundle"
    
    packages:
      yum:
        git: []
    

    BUNDLE_PATH 변수에 의해 지정된 모든 종속성을 강제로 공유 보석을 비활성화하는 업체 / 번들 응용 프로그램에 vendored합니다.

    가능하면, 당신은 응용 프로그램과 함께 힘내 소스의 공공 도서관을 설치하지 않도록해야합니다. 망할 놈의 저장소를 일시적으로 사용할 수 또는 영구적으로 이동할 수 있기 때문에 라이브러리 위치에 대한 힘내을 사용하면 배포 설치에 대한 실패의 또 다른 점을 소개합니다. 또한 탄성 콩 줄기가 같은 종속 응용 프로그램의 이후 전개함에에 훨씬 낮은 속도로 배포가 배포에 vendored을 설치합니다 강요하는 원인이됩니다 것을 명심하십시오. 라이브러리 대신 탄성 콩 줄기가 Bundler를 기본으로 수행 가지고있는 시스템 전체 설치를 활용 각각의 배포에 다시 설치하기 때문입니다.

    해당 도서관의 공식 RubyGem 자료가있는 경우 즉, 대신 해당 버전을 사용한다; 아니라면, 당신은 공식 RubyGem 자료를 사용할 수 있도록 라이브러리 작성자에게 제안한다.

    참고 / 배포 이전에 질문을 받았다 난간 일반 승객이 힘내 문제에 대한 비슷한 질문 : 3 레일 : 여객은 들러 설치 자식 보석을 찾을 수 없습니다

  2. ==============================

    2.또 다른 옵션은 응용 프로그램과 함께 직접 보석 소스를 패키지 및 그에 들러 지적하는 것입니다.

    또 다른 옵션은 응용 프로그램과 함께 직접 보석 소스를 패키지 및 그에 들러 지적하는 것입니다.

    공급 업체 / 보석 / mygem에 보석 소스를 복사

    그런 다음 Gemfile에 :

    gem 'mygem', path: File.join(File.dirname(__FILE__), 'vendor', 'gems', 'mygem')
    

    자세한 내용은 여기를 참조하십시오 : http://viget.com/extend/bundler-best-practices

  3. ==============================

    3.아마존의 탄성 콩 줄기 루비 AMI는 배포 속도를 희생하지 않고 자식에서 보석을 묶을 수 있도록하기 위해 약간의 조정이 필요, 행동 당신은 카피 스트라 노와 Heroku가 함께 상자의 나가.

    아마존의 탄성 콩 줄기 루비 AMI는 배포 속도를 희생하지 않고 자식에서 보석을 묶을 수 있도록하기 위해 약간의 조정이 필요, 행동 당신은 카피 스트라 노와 Heroku가 함께 상자의 나가.

    다행히도, 탄성 콩나무 구성 API는 사용자 정의 AMI를 유지하기 위해 필요없이 가능 필요한 비틀기를한다.

    https://github.com/gkop/elastic-beanstalk-ruby : 여기 아마존의 자신의 AMI를 사용하여 원하는 기존의 루비 배포 동작을 얻을하는 데 사용하는 탄성 콩나무 구성입니다.

  4. ==============================

    4.허용 대답을 시도 후, 나는 간단한 .ebextensions / ruby.config 근무하는 유일한 설정 것을 발견했다 :

    허용 대답을 시도 후, 나는 간단한 .ebextensions / ruby.config 근무하는 유일한 설정 것을 발견했다 :

    packages:
      yum:
        git: []
    
  5. ==============================

    5.참고 : 나는 업체 / 캐시를 추가 GIT 있도록 EB 업데이트에서 명령을 실행 볼 기운과는 기본적으로 모든 업로드 후크를 사용.

    참고 : 나는 업체 / 캐시를 추가 GIT 있도록 EB 업데이트에서 명령을 실행 볼 기운과는 기본적으로 모든 업로드 후크를 사용.

  6. from https://stackoverflow.com/questions/13642171/elastic-beanstalk-ruby-rails-need-to-install-git-so-bundle-install-works-but-i by cc-by-sa and MIT license