Tag: 捆绑

Bundler在使用本地gempath的Docker镜像服务中失败

我正在使用一个docker-compose.yml文件。 version: '2' services: myapp: tty: true image: ruby:2.4 ports: – 3000:3000 volumes: – .:/app env_file: – .env sidekiq: build: . command: bundle exec sidekiq sidekiq工作正常,并从myapp生成相同的Dockerfile信息构build。 但是,当我在我的Gemfile中添加一些需要本地目录访问的gem依赖项时,它失败了。 将此添加到Gemfile和bundle update将不允许sidekiq生成。 gem 'rails-assets-jplayer', path: 'lib/gems/rails-assets-jplayer' gem 'rails-assets-bootstrap', path: 'lib/gems/rails-assets-bootstrap' gem 'rails-assets-jquery', path: 'lib/gems/rails-assets-jquery' gem 'rails-assets-jquery-ui', path: 'lib/gems/rails-assets-jquery-ui' 添加这些后,我只从sidekiq得到这个错误,而不是从myapp (它的工作原理)。 myapp uses an image, skipping Building sidekiq Step […]

将vimconfiguration为nvidia-docker容器

我正在使用nvidia-docker来训练很less的深度学习模型。 每当我把我的运行容器附加到我意识到的时候,vim设置都不适应容器的vim。 所以我安装了vundle,并将主机的.vimrc选项复制到容器root/.vimrc 。 我没有具体的错误。 但是:NERDTree或其他命令不运行请帮助。 这是我的.vimrc设置 set shell=/bin/bash set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " The […]

如何使用dockerfile安装ruby和bundler?

这里是新的ruby和打包机。 我正在使用这个docker文件将它们安装在docker镜像中: FROM alpine:3.5 # Install Ruby, Ruby Bundler and other ruby dependencies RUN apk add –update \ ruby ruby-bigdecimal ruby-bundler \ ca-certificates libressl \ libressl-dev build-base ruby-dev \ ruby-rdoc ruby-io-console ruby-irb; \ \ && bundle config build.nokogiri –use-system-libraries; \ && bundle config git.allow_insecure true; \ \ && gem install json foreman –no-rdoc –no-ri; \ […]

强制安装软件包 – 无需重写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中删除?

如何在docker集装箱中使用私人gem(GemFury)?

我试图运行一些ruby脚本来自动出口。 由于这些远程运行,我们在Docker容器中构build它们并将它们推送给iron worker。 我们使用GemFury来为这些脚本托pipe一些重要的私人gem。 为了保持GemFury的凭证不在Git中,我们使用一个全局的包configurationbundle config gem.fury.io MY_SECRET_TOKEN 。 我怎样才能设置捆绑的configuration,所以它会从GemFury拉入gem,而无需在源代码pipe理中显示?

无法在Docker容器上安装gem

我正在开发一个使用Docker的Rails应用程序。 现在我需要安装一个新的gem,但是这不起作用。 如果我运行docker-compose -f dcom-dev.yml run –user $(id -u) web bundle exec gem install youtube_it它给了我一个这样的输出: Fetching: excon-0.51.0.gem (100%) ERROR: While executing gem … (Errno::ENOENT) No such file or directory @ rb_sysopen – /.gem/ruby/2.3.0/cache/excon-0.51.0.gem 如果我将Gemfile gem 'youtube_it'添加到我的Gemfile ,然后运行Gemfile docker-compose -f dcom-dev.yml run –user $(id -u) web bundle exec bundle install它,如下所示: Could not find gem 'youtube_it' in […]

在GitLab CI包构build中cachinggem

我正在使用Docker镜像来运行一堆存储库的testing。 每个存储库都有自己的testing,当然也有自己的Gemfile。 所以,基本上,每当我对这些存储库进行提交时,就开始一个新的构build。 在这个版本中,GitLab: 下载Docker镜像。 安装所有需要的gem。 运行testing。 Docker镜像有一些预装的包,比如ruby或者gcc,所以我不会在每次构build时重新安装这些包,但是我仍然需要安装所有的gem,因为每个仓库都有它自己的Gemfile,它们有点不一样。 事情是,我能做些什么来提高构build时间? 我使用build install命令浪费了大量的时间,并且大部分时间都是反复为每个存储库安装相同的软件包。

在docker上安装gem

我使用rails和Docker开发了一个应用程序。 我遇到了一个问题:当我跑步 docker-compose -f dcom-dev.yml run –user $(id -u) web gem install google-api-client 它运行良好,但是如果我写入我的Gemfile gem'google gem 'google-api-client'然后运行 docker-compose -f dcom-dev.yml run –user $(id -u) web bundle install 它失败了几个这样的警告: Errno::ENOENT: No such file or directory @ rb_sysopen – /.gem/ruby/2.3.0/cache/memoist-0.14.0.gem 和这样的错误: An error occurred while installing memoist (0.14.0), and Bundler cannot continue. Make sure that `gem install […]