gpt4 book ai didi

ruby - 从 git 中引用 ruby​​ gem 会破坏 aws beanstalk 部署

转载 作者:数据小太阳 更新时间:2023-10-29 08:12:15 27 4
gpt4 key购买 nike

我已成功设置我的 aws 环境。但是我有一个问题。在我的 Gemfile 中,我有以下行:

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: []

这会将所有内容打包到 vendor/bundle 中,我的应用程序将启动 correctyl。

但是这种方法有两个问题:

  1. 部署时间很长,因为每次都需要安装所有gem
  2. 当我通过 ssh 连接到 EC2 实例时,我无法再执行命令。例如,我必须启动一个 rpush 守护进程。这在本地适用于 bundle exec rpush development 但在 EC2 上这会导致:

    bundle 执行 rpush/usr/local/share/ruby/gems/2.0/gems/bundler-1.3.5/lib/bundler.rb:284: 警告:PATH 中的不安全世界可写目录/var/app/current/vendor/bundle/bin,模式 040777git://github.com/gregbell/active_admin.git (at master) 未 checkout 。请运行 bundle install

是否有其他方法可以正确安装 gems 并同时使用系统 gems?或者,如果这不可能,我如何在 bundle gems 时启动 rpush

最佳答案

在本地环境中更新 Gemfile.lock(bundle install&& bundle update)。并使用 Gemfile 和 Gemfile.lock 推送提交。再次部署到 AWS。

关于ruby - 从 git 中引用 ruby​​ gem 会破坏 aws beanstalk 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24782081/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com