我已经成功建立了我的aws环境。不过,我有一个probelem。在我的Gemfile我有以下行:从git引用红宝石宝石打破aws beanstalk部署
gem 'activeadmin', :github => 'gregbell/active_admin'
当我做了git aws.push
我可以看到在AWS记录以下错误:
/usr/local/share/ruby/gems/2.0/gems/bundler-1.3.5/lib/bundler/source/git.rb:177:in `rescue in load_spec_files': git://github.com/gregbell/active_admin.git (at master) is not checked out. Please run `bundle install` (Bundler::GitError)
我能够通过创建这个文件来解决这个问题:.ebextensions/ruby.config
option_settings:
- option_name: BUNDLE_DISABLE_SHARED_GEMS
value: "1"
- option_name: BUNDLE_PATH
value: "vendor/bundle"
packages:
yum:
git: []
这一切都打包到供应商/束和我的应用程序开始correctyl。
不过,我有两个问题的方法:
- 这需要很长的部署,因为它需要每次
我不能够再当我ssh到要执行的命令安装所有的宝石EC2实例。例如,我必须启动一个rpush deamon。本地这一点也适用
bundle exec rpush development
,但在EC2上这会导致:束EXEC RPUSH /usr/local/share/ruby/gems/2.0/gems/bundler-1.3.5/lib/bundler.rb:284:警告:在PATH中,模式040777 git://github.com/gregbell/active_admin.git(在主服务器)没有签出时,不安全的可写dir/var/app/current/vendor/bundle/bin。请运行软件包安装
是否有其他方式正确安装宝石,同时使用系统宝石?或者如果这是不可能的,当宝石捆绑在一起时,我怎样才能开始rpush
?
类似http://stackoverflow.com/questions/13642171/elastic-beanstalk-ruby-rails-need-to-install-git-so-bundle-install-works-but-i检查一些答案。有或没有BUNDLE_DISABLE_SHARED_GEMS的 –