Tag: 蜻蜓gem

如何捆绑安装本地pathgem与docker?

我正在使用docker和导轨。 我创build了一个本地的gem,并把它放到供应商/gem文件夹。 我将它添加到我的Gemfile中: gem 'my_gem', path: './vendor/gems/my_gem' 在我的Dockerfile中 RUN mkdir /testapp WORKDIR /testapp ADD Gemfile /testapp/Gemfile ADD Gemfile.lock /testapp/Gemfile.lock RUN bundle install ADD . /testapp 运行docker-compose build ,显示: The path `/testapp/vendor/gems/my_gem` does not exist. ERROR: Service 'web' failed to build: The command '/bin/sh -c bundle install' returned a non-zero code: 13

强制安装软件包 – 无需重写Gemfile.lock

在构buildDocker镜像之前,我正在使用bundle package将gem写入供应商/caching。 然后运行RAILS_ENV=docker_env bundle install –local –without development test在我的Dockerfile中没有RAILS_ENV=docker_env bundle install –local –without development test来安装运行没有问题的caching的gem。 然而,当我试图bundle exec …或任何与束捆绑它抱怨失踪的gem,但它抱怨的gem是在开发和testing组,它不应该试图加载。 它们是在Gemfile.lock中指定的,但是我的理解是运行bundle install –without development test应该将它们从Gemfile.lock中移除。 我可以从修复问题的Gemfile.lock中手动删除它们,但这显然不是一个实用的解决方法。 我尝试将–clean标志附加到软件包安装,但是这并没有帮助。 任何想法为什么开发/testinggem没有被从Gemfile.lock中删除?

炼油厂使用自定义Dragonfly存储后端的正确方法是什么?

我有一个Refinery Blog应用程序包装在一个Docker容器中。 我试图使用一个替代蜻蜓数据存储图像存储,但我似乎无法让它按预期工作。 我正在使用我使用Akamai的NetStorage API编写的自定义Dragonfly数据存储。 由于它仍在开发中,我还没有公开发布这个gem,而只是把它添加到我的Refinery项目的lib文件夹中。 然后,在/config/initializers/refinery/images.rb ,我取消了config.custom_backend_class和_opts行的注释,为每个类添加了正确的值(类名作为前者的string,各种API键列表和其他必要的configuration信息对于后者)。 但是,当我试图上传一个图像来testing新的自定义后端时,Refinery / Dragonfly似乎也尝试为之前上传的图像使用新的后端。 在我的类中为读取,写入和销毁方法添加大量的痕迹,我看到一个单一的写入和读取我试图上传的实际图像,再加上一堆读取尝试为已有的图片。 我不确定这是否是有意的行为。 此外,我试图上传的图像并没有出现在Refinery中,尽pipe我的class级在读取和写入方面都取得了成功(对于预期的图像,不一定是其余部分)。 图像对象存在,但实际的图像内容丢失。 元数据似乎是完整的,假设元数据包含像图像的名称和alt-text这样的信息。 我真的不知道我做错了什么,因为我的数据存储似乎是正确的。 我不明白的是蜻蜓和/或炼油厂出了什么问题,这是下一个要解决的问题。 我现在正在发布这个问题,因为我不知道现在需要调查其他项目的内部需要多长时间才能找出问题。