无法在docker容器上安装gem

时间:2016-08-01 10:36:35

标签: ruby-on-rails docker rubygems bundler docker-compose

我正在使用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

如果我将gem 'youtube_it'添加到Gemfile,然后运行docker-compose -f dcom-dev.yml run --user $(id -u) web bundle exec bundle install,则输出如下:

Could not find gem 'youtube_it' in any of the gem sources listed in your Gemfile or available on this machine.
Run `bundle install` to install missing gems.

可能有什么问题?提前谢谢!

1 个答案:

答案 0 :(得分:2)

您对bundler使用了错误的命令。

docker-compose -f dcom-dev.yml run --user $(id -u)  web gem install youtube_it

或:

docker-compose -f dcom-dev.yml run --user $(id -u)  web bundle install

<子> Understanding Bundler