Tag: rubygems

docker+中的Bundlerlocking不能安装gem(Solved-docker CMD vs ENTRYPOINT)

更新:我已经把[或者]问题缩小到我的services: app: volumes字典中的行- groupy-gemcache:/usr/local/bundle 。 如果我删除它,容器运行良好[我认为],但可能是我失去了我当地的gemcaching。 tldr:在运行docker-compose build之后,事情似乎没有问题,但是如果我在gemfile中添加了一些东西,我不能在运行的docker容器中运行任何 gem或bundle 。 例如,在docker-compose build && docker-compose run app bash : root@2ea58aff612e:/src# bundle check The Gemfile's dependencies are satisfied root@2ea58aff612e:/src# echo 'gem "hello-world"' >> Gemfile root@2ea58aff612e:/src# bundle Could not find gem 'hello-world' in any of the gem sources listed in your Gemfile. Run `bundle install` to install missing […]

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

gem:找不到命令

我有build立gem文件的bash文件,并启动我的程序: cd /src/stackify-api rm *.gem gem build stackify.gemspec gem install stackify-0.1.0.gem cd /src/stackify-classificator rm *.gem gem build stackify-classificator.gemspec gem install stackify-classificator-0.1.1.gem cd /src/bin ruby console-task.rb 我在docker集装箱中使用它。 它工作正常,如果我交互启动容器并手动运行这个bash文件: ~ » docker run -it -v /mnt/lacie/online/btsync/development:/src stack_rvm /bin/bash root@898cec6a7d85:/# /src/build.sh … Successfully built RubyGem Name: stackify Version: 0.1.0 File: stackify-0.1.0.gem 但是当我试图在Docker中启动这个脚本时,我得到错误消息: ~ » docker run -it -v […]

在Docker上捆绑安装失败

我在我的Rails应用程序中使用Docker。 现在我尝试在新机器上构build它,并且遇到一些问题。 当我运行docker-compose -f dcom-dev.yml run –user $(id -u) web bundle install它开始工作,但失败 An error occurred while installing debug_inspector (0.0.2), and Bundler cannot continue. Make sure that `gem install debug_inspector -v '0.0.2'` succeeds before bundling. 如果我尝试docker-compose -f dcom-dev.yml run –user $(id -u) web gem install debug_inspector -v '0.0.2'它成功执行,告诉gem的intalled。 在安装捆绑产生可怕的输出,如: Errno::EACCES: Permission denied @ rb_sysopen – /bundler_cache/extensions/x86_64-linux/2.3.0-static/pg-0.18.4/gem_make.out […]

添加不安全的rubygems源文件,并自动select'是'为'你想添加这个不安全的源? (我正在使用Docker-Compose)

我正在调配一个使用一些ruby的节点的安装。 为了获得我的公司networking上的gem,我通常添加“ http://rubygems.org ”。 我正在使用Docker撰写和魔杖使用 gem source –add http://rubygems.org ,但我注意到它交互式地问我[yn] 。 我怎样才能避免交互,类似于apt-get install -yqq ?

Ruby on Rails使用命令行“计算图像的md5

我正在试图在ruby脚本和ruby on rails服务器上生成图像的md5哈希。 在脚本(这是在Mac上本地运行)我正在做: `md5 -q path-to-file` 这工作得很好,生成一些像Added new md5: efe99a09e6e1b192314891b960018bd4当我在服务器上运行相同的命令(在Linux机器上生产运行),它成为一个空string def add_md5_if_empty(test_image) if md5.nil? self.md5 = `md5 -q #{test_image.image.path}` logger.info "Added new md5: #{self.md5} for image at path: #{test_image.image.path}" test_image.save end end I, [2016-02-24T03:48:36.879648 #42] INFO — : Added new md5: for image at path: /app/public/system/test_images/images/000/209/309/original/filename.png 我的猜测是,轨道服务器(Linux机器上)ruby没有md5命令。 另外我的项目是使用Docker,所以也许有一些依赖,我失踪了。 任何帮助将不胜感激。

如何安装je​​kyll到Docker镜像?

我想生成一个具有命令jekyll可用的docker图像。 我生成了以下内容的Dockerfile : # https://hub.docker.com/_/ruby/ FROM ruby:slim RUN gem install jekyll 不幸的是抛出一个错误: ERROR: Error installing jekyll: ERROR: Failed to build gem native extension. current directory: /usr/local/bundle/gems/ffi-1.9.10/ext/ffi_c /usr/local/bin/ruby -r ./siteconf20160615-7-12pthrg.rb extconf.rb checking for ffi.h… *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log […]

安装pg gem而不安装postgres macOS

如果你不介意使用Homebrew安装Postgres数据库,这是一个很容易解决的问题。 但是我的使用案例,Postgres数据库是由Docker在开发机器上运行并将端口暴露到主机中。 然后我需要安装gem pg到需要pg_config开发机器。 正如你可能知道的,这是操作将失败,因为它没有呈现。 这有点令人沮丧,因为快速修复是我只需要通过Homebrew安装Postgres,然后gem install pg来解决这个问题。 但是如果postgres不需要安装,那可能会更好,因为我已经通过docker安装了,安装起来似乎有些重复。 我想问的是,我们有没有需要安装postgres这个工作的替代方法? 我曾经search过libpq ,这在Linux中是可用的,但它似乎不适用于macOS。

如何在docker-compse中获取容器的IP地址

我试图在开发中的docker容器中运行fake_sqs gem以testing我的SQS集成,并让另一个应用程序向其发送消息。 我的docker-compose文件如下所示: app: build: . command: bundle exec rails s Puma –port 3000 –binding 0.0.0.0 volumes: – ./:/app ports: – 3000:3000 links: – db:db environment: VIRTUAL_HOST: app.docker PGHOST: db PGUSER: postgres AWS_REGION: us-west-2 AWS_QUEUE_NAME: my-queue AWS_ENDPOINT: http://aws.docker:4568/ fakesqs: build: . command: fake_sqs -p 4568 volumes: – ./:/app ports: – 4568:4568 links: – db:db environment: […]

在Docker容器中找不到Sass

我有一个使用gulp-ruby-sass插件的web应用程序,它运行在安装sass gem的容器中。 这是Dockerfile: FROM phusion/passenger-customizable:0.9.19 # Set correct environment variables. ENV HOME /root # Use baseimage-docker's init process. CMD ["/sbin/my_init"] # Build system and git. RUN /pd_build/utilities.sh && \ # Ruby support. /pd_build/ruby-2.3.*.sh && \ # Node.js and Meteor support. /pd_build/nodejs.sh && \ npm install -g gulp jspm yarn && \ npm install phantomjs-prebuilt@2.1.9 && […]