mirror of
https://github.com/docker-library/ruby.git
synced 2022-11-09 11:41:34 -05:00
d88c77ea84
Previously, the only gem referred to in the build was Bundler. Immediately before it was installed, rubygems was globally configured to not install documentation when gems are installed or updated. Now, rubygems is updated in the same RUN step that installs ruby. By creating the .gemrc file before that step, the `gem update rubygems` command no longer needs an explicit `--no-documentation` flag.
43 lines
1.4 KiB
Docker
43 lines
1.4 KiB
Docker
FROM buildpack-deps:jessie
|
|
|
|
ENV RUBY_MAJOR 2.1
|
|
ENV RUBY_VERSION 2.1.6
|
|
ENV RUBY_DOWNLOAD_SHA256 1e1362ae7427c91fa53dc9c05aee4ee200e2d7d8970a891c5bd76bee28d28be4
|
|
ENV RUBYGEMS_VERSION 2.4.8
|
|
|
|
# skip installing gem documentation
|
|
RUN echo 'install: --no-document\nupdate: --no-document' >> "$HOME/.gemrc"
|
|
|
|
# some of ruby's build scripts are written in ruby
|
|
# we purge this later to make sure our final image uses what we just built
|
|
RUN apt-get update \
|
|
&& apt-get install -y bison libgdbm-dev ruby \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& mkdir -p /usr/src/ruby \
|
|
&& curl -fSL -o ruby.tar.gz "http://cache.ruby-lang.org/pub/ruby/$RUBY_MAJOR/ruby-$RUBY_VERSION.tar.gz" \
|
|
&& echo "$RUBY_DOWNLOAD_SHA256 *ruby.tar.gz" | sha256sum -c - \
|
|
&& tar -xzf ruby.tar.gz -C /usr/src/ruby --strip-components=1 \
|
|
&& rm ruby.tar.gz \
|
|
&& cd /usr/src/ruby \
|
|
&& autoconf \
|
|
&& ./configure --disable-install-doc \
|
|
&& make -j"$(nproc)" \
|
|
&& make install \
|
|
&& apt-get purge -y --auto-remove bison libgdbm-dev ruby \
|
|
&& gem update --system $RUBYGEMS_VERSION \
|
|
&& rm -r /usr/src/ruby
|
|
|
|
# install things globally, for great justice
|
|
ENV GEM_HOME /usr/local/bundle
|
|
ENV PATH $GEM_HOME/bin:$PATH
|
|
|
|
ENV BUNDLER_VERSION 1.10.6
|
|
|
|
RUN gem install bundler --version "$BUNDLER_VERSION" \
|
|
&& bundle config --global path "$GEM_HOME" \
|
|
&& bundle config --global bin "$GEM_HOME/bin"
|
|
|
|
# don't create ".bundle" in all our apps
|
|
ENV BUNDLE_APP_CONFIG $GEM_HOME
|
|
|
|
CMD [ "irb" ]
|